Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Jungle

Pages: [1] 2 3 4 5 ... 22
Support and Feedback / Re: "file type" language
« on: June 24, 2024, 13:11:06 »
So now we know that MC shows File Type in correct language at least for RUS and ENG.

Support and Feedback / Re: "file type" language
« on: June 24, 2024, 11:20:52 »
1) File type names shown from the filetype columns is returned by Windows. MC ask windows for them. It should return same in Windows Explorer.

I don't know what does "is returned by Windows" mean. But I tried simple reading (Default) value for file extension from registry and then LoadString/RegLoadMUIStringW. Simple reading returns unclocalized string (I tested on RUS/ENG lang packs), while the latter return localized one.

Support and Feedback / Re: "file type" language
« on: June 24, 2024, 08:42:09 »
I can only suppose that "File type" is simply read from registry as I did in my script. But in order to display localized string, so called FriendlyTypeName should be read either by LoadString or by RegLoadMUIStringW (the latter is only supported on Vista+)

Beta Releases / Re: v14.0 BETA
« on: June 20, 2024, 15:44:51 »
Yes some Windows API report  NOT FOUND and some SHARING VIOLATION..
Its only for some very special system files. Not sure it is worth the time to create some workaround just for them.
Let FileExists() and others return:
* 1 when GetFileAttributes returns true
* 0 when GetFileAttributes returns false and FILE_NOT_FOUND
* 2 (or -1 or whatever else) otherwise

It will guarantee file existence or absence

Beta Releases / Re: v14.0 BETA
« on: June 20, 2024, 14:09:47 »
when checking if file exists the GetFileAttributes(..) API is used. But for the special system files it return false and set error code to FILE_NOT_FOUND.

I tried PathFileExists(). For non-existing file it returns 0x02 FILE_NOT_FOUND while for "hiberfil.sys" it returns 0x20 ERROR_SHARING_VIOLATION. Also FindFirstFile() succeedes.

It looks inconsistent when you see a file in the panel, but script says it doesn't exist.

Beta Releases / Re: v14.0 BETA
« on: June 20, 2024, 11:13:37 »
If FileExists return 0 then Windows return error when checking for those special file. Windows actually return ERROR_FILE_NOT_FOUND when trying to check those files.
But MC somehow shows that files in Explorer Panels. If it can detect them, then I don't see a reason why MultiScript's FileExists could not.
Try IsFolder() for "hiberfil.sys"

Support and Feedback / Re: how to add filetyoe column
« on: June 20, 2024, 10:11:42 »
If I get you right, you may try the following script:

Code: [Select]
@var $type_name;

if ( IsFolder($_FILEPROP_FILEPATH) == 0 )
  @var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);
  $type_name = RegValueGetSZ("HKCR", $ext, "");
  $type_name = "Directory";

@var $_COLUMN_TYPE_DESCRIPTION = RegValueGetSZ("HKCR", $type_name, "");

Create scriptable column and add $_COLUMN_TYPE_DESCRIPTION as the Output variable.

But for unknown extension it will return empty string. I think in such cases Windows [Explorer] constructs description itself in the form "EXT File". And it depends on the OS locale. I'm not sure it's possible (or there's an easy way) to get it from OS.

Beta Releases / Re: v14.0 BETA
« on: June 20, 2024, 10:01:37 »

I don't see it losing defined scripables columns. have you checked  the option for the script to be a FileProp?
Thanks. Checking this option works.

But there's another issue. Some multiscript functions fails with certain files. E.g. FileExists returns 0 for "hiberfil.sys", "pagefilt.sys", "swapfile.sys". And IsFolder fails with script engine error.

This sample code: will variable be visible out of its scope?

Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();

Beta Releases / Re: v14.0 BETA
« on: June 20, 2024, 08:14:09 »
Example of script that will just show the file extension in a column.

Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();

@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);


On the line "@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);" I get error "Script engine error => Failed to process token - "$ext"" although IsVariableDefined() returns 1.


2. Script list for a scriptable column is empty.
3. Scriptable columns are completely lost after closing MC (not only from displayed column, but from the available columns list)

For some file invoke MC context menu > File Checksum > Calculate checksum value from file.
Calculation never ends, operation can't be aborted and MC can't be closed (it freezes). File size doesn't matter.

MC v14.0.3016 x64 portable, Win 10 x64 Pro 22H2 build 19045.4529

Like in Vivaldi web browser? :)

Support and Feedback / Re: How to add Favorite Pairs
« on: May 18, 2024, 19:50:34 »
Is there an easy way to "activate a tab if it exists or create a new one"? Or I have to write a script to check every tabs before create it?
I think you'll have to perform a check.

Support and Feedback / Re: How to Drop&Run?
« on: May 16, 2024, 07:50:49 »
It is possible if you put that executable on the QuickLaunch bar or Button panel.

Example for QuickLaunch bar:
1. Drag'n'drop some executable on the QL bar
2. Customize it by right-clicking the icon and selecting "Customize..." (here you can choose how the dropped files shoud be handled)
3. Now you can drag'n'drop other files on that icon, and they will be opened in that program

Example for Button Panel:
1. Enable wizard mode (Menu Configuration > Toggle button panel wizard mode)
2. Drag'n'drop some executable on the desired button
3. In the settings window check "Accept dropped files..."
4. Disable wizard mode (Menu Configuration > Toggle button panel wizard mode)
5. Now you can drag'n'drop other files on that icon, and they will be opened in that program

Support and Feedback / Re: How to add Favorite Pairs
« on: May 16, 2024, 07:34:21 »
If I got you right, you can do it via Custom commands. E.g. write MultiScript or use Internal Commands directly.
For example:

Code: [Select]
@var $path1 = 'c:\temp'
@var $path2 = 'c:\temp\22'

MC.Explorer.NewBrowser PATH="{$path1}" SIDE=LEFT
MC.Explorer.NewBrowser PATH="{$path2}" SIDE=RIGHT

Then you can bind that custom command to a button on the button panel or to a hotkey, or put it to a quicklaunch bar

MC has a MultiScript function GetWinShortcutTarget(). So the simplest multiscript UDC could look like:
Code: [Select]
@var $lnk = GetSourceFocusPath();

@var $path = GetWinShortcutTarget( $lnk );
MC.Explorer.Goto SOURCE="{$path}";

I always have to re-adjust my panels to 50%/50% when starting MC. Where can I set that the % of panel width is always 50%/50%?

There's an option under Menu Configuration > Core settings > Layout > Application layout > Panel Tab > Remember split size
With this option disabled MC should always restore 50/50 ratio

Also I would like to be sure then that column with is also sizing according to panel width (that is wider when panels width get bigger) and where to configure that?

Menu Configuration > Explorer panel settings > Display > Sorting and columns > Autosize columns

I tried to create a shortcut to MC on the desktop and input:
"C:\Program Files\MultiCommander (x64)\MultiCommander.exe" -AutoRun=Core.1206

It doesn't work.

It does work, but you have to create a User Defined Command. So you go to Configuration > User Defined Commands, create a command named e.g. AutorunCmd:

Code: [Select]
Command type = Internal Commands
Module = Multicommander (Base)
Command = Full Pane width

Then in the shortcut params specify -AutoRun=AutorunCmd

EDIT. You may also create UDC of type MultiScript:
MC.RunCmd ID="Core.1206"

Support and Feedback / Issue with search in MultiDataViewer
« on: March 14, 2024, 14:12:21 »
I have a txt-file with mixed cyrillic/english text in ANSI encoding. In MDV if I search for cyrillic word, nothing is found. Case dosen't matter. I basically copy some cyrillic text, paste it in the Find field, press Enter and get "No more found". Search for english text works OK.

If I open this file in Windows Notepad, search for cyrillic text works fine. If in Notepad I save this file as UTF-8 or UTF-16, then in MultiDataViewer search works, but only if case matches, so e.g. search for "станислав" can't find "Станислав" even with disabled [Match case] option.

1. Move some tab to the opposite panel
2. Press Tab key

Result: Focus doesn't move to the opposite panel. Moreover, if the preeceding panel was not previously opened it is opened empty (see gif)

3. Click mouse in the opposite panel to activate it
4. Press Tab again

Result: the opposite panel is activated but no file/folder is not focused. This only seems to work on fresh MC start.

Support and Feedback / Re: Quicklook - nearly works
« on: February 22, 2024, 12:07:15 »
Will you commit your changes to the QL GitHub ?
I'll try. Or will ask the author to merge the changes.

Support and Feedback / Re: Quicklook - nearly works
« on: February 21, 2024, 19:41:25 »

AFAIK Space is the default (and the only) hotkey registered by QL itself to open and close preview. I tested 3 cases:

1) launch QL, then press Space in MC and navigate: everything looks fine;
2) create User Defined Command MC.Run CMD="x:\ql_path\quicklook.exe" ARG="${focusfilepath}", assign some hotkey: fine
3) create new profile in File Type Setup / Viewers (F3 default): fine

Fine means that preview appears and stays until manually closed. I tested it on Win10 and Win11 (real and VM). I can only suppose that Space is somehow pressed twice making QL close preview (as long as Space is used for both open and close preview)

Support and Feedback / Re: Quicklook - nearly works
« on: February 21, 2024, 09:28:03 »
Well, I've made QL to monitor MC. Here's the files. Archive contains only updated binaries along with source files, so you can build QL yourself. Password is QuickLook

Support and Feedback / Re: Quicklook - nearly works
« on: February 13, 2024, 18:21:32 »
I see, so the "issue" (if it is an issue) should be fixed from QL side then, by having it watching more managers...
It's not an issue. Unfortunately, adding custom file manager support can't be done by creating independent dll. This would require to change QuickLook.Native project. But the first impression makes me think that adding MC support to QL shouldn't be hard for someone who has Visual Studio installed.

Support and Feedback / Re: Quicklook - nearly works
« on: February 13, 2024, 08:42:09 »
Now of course I have no idea how they do it.
I've taken a look at the sources, and from what I've seen and understood, QuickLook constantly monitors active window and tries to get selection from it if the window type matches supported managers (explorer, dopus etc.)

Support and Feedback / Re: Quicklook - nearly works
« on: February 13, 2024, 07:15:57 »
I think that the easiest way would be to allow external app in the preview setup.

Another way - events. Multiple times I wanted to suggest this feature but I'm not sure it's worth the efforts. The point is to allow executing scripts/UDC on certain events like MC start/exit, change file focus, opening/closing tabs, begin/end file operations etc. But I don't think it would be useful.

Pages: [1] 2 3 4 5 ... 22