QuickSearch eXtended

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
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

majkinetor ! wrote:Hi,

I noticed that tcmatch.ini is saved on the same location as the plugin. This makes user settings hard to use for multiple users and requires admin access.

Is it possible to save ini file to the same location where TotalCmd configs are, by default $Env:APPDATA\Ghisler ?

I noticed this because by default chocolatey package installs Total Commander under program files which is more restrictive.
There is a wincmd switch for the path:
German TC help wrote:tcmatch= Legt den Ort der Datei tcmatch.dll fest. Muss den kompletten Pfad+Dateinamen enthalten, unterstützt Umgebungsvariablen. tcmatch.dll wird für benutzerdefinierte Schnellsuche benutzt, z. B. nach chinesischen Zeichen.
tcmatch64= Wie oben, für 64bit-Version.
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

Thanks.

BTW, small bug on AHK side:

Image: https://image.ibb.co/dgMuXo/Untitled.png

Happens only when you switch preferred mode via gui combo box. This shows 4 as I changed it to srch, but whatever you choose, that number is shown.
Habemus majkam!
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Samuel wrote:I can confirm that a folder with 5000 files has problems if filtered in QSX. Perhaps some kind of memory issue.
Is there a chance to get this fixed? I had to disable QSX because of this issue.
Samuel wrote:
DrShark wrote:... a feature to stop pasting clipboard content on Esc keypress... Christian wrote that maybe in 3rd party tcmatch plugin it may be implemented now by reacting to GetAsyncKeyState(VK_ESCAPE). If it is possible, can you consider adding it to future QSX versions?
Don't know.
Did you try to check whether it's possible to implement this?
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

DrShark wrote:
Samuel wrote:
DrShark wrote:... a feature to stop pasting clipboard content on Esc keypress... Christian wrote that maybe in 3rd party tcmatch plugin it may be implemented now by reacting to GetAsyncKeyState(VK_ESCAPE). If it is possible, can you consider adding it to future QSX versions?
Don't know.
Did you try to check whether it's possible to implement this?
What should be done when this happens? I don't know how to interrupt clipboard entry. Or should it instant filter all files if ESC is pressed? (to avoid long calculations)
User avatar
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

Update. Version 2.2.7 is available.

Code: Select all

Version 2.2.7
- Fixed a memory leak resulting in a big grow of memory consumption of TC in folders with many files – thank you DrShark
- Fixed long time bug of displaying numbers instead of the correct strings in the GUI - thank you majkinetor !
- Added pressing and holding ESC interrupts the matching process. Could be used when the match process is slow, because a long text is pasted or plugins slow down the process.
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Samuel, thanks for update!

After 2 days of using the plugin, I can confirm there is no more leak-like growing of RAM in cases I mentioned, so I hope Quick Search Extended won't crash TC anymore :)

I also tried a new feature to abort filtering with Esc key, it works as expected.
I have suggestions to improve it though:
1. If user is holding Esc while and still after string is pasted, QSX window is closed. Is it possible to make Esc only to stop filtering, so QSX window could be closed with separate Esc keypress?
2. If user is holding Esc while pasting, but releases it before pasting is done, QSX will filter for characters that pasted while Esc wasn't being pressed. It would be nice if after following closing and reopening QSX GUI (Esc->Ctrl+S) in search window real string (characters) for which QSX was/is filtering would be restored instead of full pasted string.

I also have some other not related suggestions:
3. It would be nice to have a possibility to define custom hotkeys to toggle the state of QSX GUI buttons like "Match only begginning of files/words".
4. Not sure if it's in control of QSX... In my wincmd.ini, I have defined a custom path to tcmatch.dll in tcmatch= parameter of [Configuration] section. But when installing a plugin using default pluginst.inf way, the plugin, instead of updating my tcmatch.dll, is installed into %COMMANDER_PATH% anyway, and TC starts using it immediately, so moving tcmatch files from %COMMANDER_PATH% to custom location requires closing the Total Commander. Manual update by unpacking tcmatch files plugin from distribution archive to my custom location also requires closing TC, because if I decided not to use pluginst.inf install, a previous version of tcmatch.dll from custom location is used by TC at the moment of update. So the question is: can you tell TC using some parameter in pluginst.inf (maybe currently empty defaultdir= ?) to prefer tcmatch= location, if present, on plugin update? If not, maybe you can support my suggestion for TC to use cm_UnloadPlugins (or some new command) to unload tcmatch.dll from active TC instance, so at least a manual update will be possible without a need to close Total Commander?
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

DrShark wrote:1. If user is holding Esc while and still after string is pasted, QSX window is closed. Is it possible to make Esc only to stop filtering, so QSX window could be closed with separate Esc keypress?
2. If user is holding Esc while pasting, but releases it before pasting is done, QSX will filter for characters that pasted while Esc wasn't being pressed. It would be nice if after following closing and reopening QSX GUI (Esc->Ctrl+S) in search window real string (characters) for which QSX was/is filtering would be restored instead of full pasted string.
The input field is created and handled by TC. No possibility for me to change the behavior.
DrShark wrote:3. It would be nice to have a possibility to define custom hotkeys to toggle the state of QSX GUI buttons like "Match only begginning of files/words".
I will consider it.
DrShark wrote:4. Not sure if it's in control of QSX... In my wincmd.ini, I have defined a custom path to tcmatch.dll in tcmatch= parameter of [Configuration] section. But when installing a plugin using default pluginst.inf way, the plugin, instead of updating my tcmatch.dll, is installed into %COMMANDER_PATH% anyway, and TC starts using it immediately, so moving tcmatch files from %COMMANDER_PATH% to custom location requires closing the Total Commander. Manual update by unpacking tcmatch files plugin from distribution archive to my custom location also requires closing TC, because if I decided not to use pluginst.inf install, a previous version of tcmatch.dll from custom location is used by TC at the moment of update. So the question is: can you tell TC using some parameter in pluginst.inf (maybe currently empty defaultdir= ?) to prefer tcmatch= location, if present, on plugin update? If not, maybe you can support my suggestion for TC to use cm_UnloadPlugins (or some new command) to unload tcmatch.dll from active TC instance, so at least a manual update will be possible without a need to close Total Commander?
I prefer to use the standard installation routine of TC. So again no possibility for me to change the behavior.
bynkook
Junior Member
Junior Member
Posts: 14
Joined: 2005-01-26, 06:51 UTC

after uninstall

Post by *bynkook »

After I used for a search, I've uninstalled TCMATCH.
I found out today, still the search query displayed in the address bar like

c:\temp\|com.apple

and |com.apple I can remove it. How can I?[/img]
User avatar
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Re: after uninstall

Post by *Samuel »

bynkook wrote:After I used for a search, I've uninstalled TCMATCH.
I found out today, still the search query displayed in the address bar like

c:\temp\|com.apple

and |com.apple I can remove it. How can I?
This looks like TCs very own filter (not quickfilter) is active.
Does Ctrl+F10 resolve the issue? (Ctrl+F12 to activate the filter)
damjang
Senior Member
Senior Member
Posts: 215
Joined: 2003-10-09, 15:58 UTC
Contact:

Re: QuickSearch eXtended

Post by *damjang »

Today I installed for the first time the QSE, and try to use. But I find a bug or maybe I'm doing something wrong? I search for

*_DTS.pdf

in dir with 2 files: test_DTSold.pdf and test_DTS.pdf, but the filter find both of them, also if should find only test_DTS.pdf.
User avatar
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Re: QuickSearch eXtended

Post by *Samuel »

damjang wrote: 2018-07-31, 14:41 UTC Today I installed for the first time the QSE, and try to use. But I find a bug or maybe I'm doing something wrong? I search for

*_DTS.pdf

in dir with 2 files: test_DTSold.pdf and test_DTS.pdf, but the filter find both of them, also if should find only test_DTS.pdf.
The asterisk "*" at the beginning triggers a "Srch". See chapter 2 of the documentation. You may change the activation chars. The asterisk "*" is not handled in the search as placeholder. You could use the similar but complex RegEx expressions.
damjang
Senior Member
Senior Member
Posts: 215
Joined: 2003-10-09, 15:58 UTC
Contact:

Re: QuickSearch eXtended

Post by *damjang »

Samuel wrote: 2018-08-01, 20:01 UTC
damjang wrote: 2018-07-31, 14:41 UTC Today I installed for the first time the QSE, and try to use. But I find a bug or maybe I'm doing something wrong? I search for

*_DTS.pdf

in dir with 2 files: test_DTSold.pdf and test_DTS.pdf, but the filter find both of them, also if should find only test_DTS.pdf.
The asterisk "*" at the beginning triggers a "Srch". See chapter 2 of the documentation. You may change the activation chars. The asterisk "*" is not handled in the search as placeholder. You could use the similar but complex RegEx expressions.
Oh, you're right. Thank you for the explanation.
User avatar
LonerD
Senior Member
Senior Member
Posts: 381
Joined: 2010-06-19, 20:18 UTC
Location: Makeyevka, Russia
Contact:

Re: QuickSearch eXtended

Post by *LonerD »

My tcmatch.dic
https://pastebin.com/raw/30FE2HhR
Cyrillic - Latin.
What wrong? Some letters work, some fully broken, some work as case sensitive, some doesn't... Even when search files with only English letters. For example - "q" search files with "Q", but "w" can't find with "W".
I completely discouraged with such behavior and can't find reason. :oops:
"I used to feel guilty in Cambridge that I spent all day playing games, while I was supposed to be doing mathematics. Then, when I discovered surreal numbers, I realized that playing games IS math." John Horton Conway
User avatar
Samuel
Power Member
Power Member
Posts: 1929
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Re: QuickSearch eXtended

Post by *Samuel »

IMO the problem is that the chars are replaced into both directions.
Either use this: (I would prefer that)

Code: Select all

й	q
Й	Q
ц	w
Ц	W
Or that:

Code: Select all

q	й
Q	Й
w	ц
W	Ц
But not both. Otherwise the replacements are possibly executed in random order.
Perhaps like this:
Replacing "q" by "й" and back to "q" and "Q" by "Й" and back to "Q" (=> "q == Q").
Replacing "w" to "ц" but not back because the rule "ц" to "w" was executed first and "W" by "Ц" and back to "W" (=> "ц != W").

BTW: Did you use the Format: "UTF16-LE" for the file?
User avatar
LonerD
Senior Member
Senior Member
Posts: 381
Joined: 2010-06-19, 20:18 UTC
Location: Makeyevka, Russia
Contact:

Re: QuickSearch eXtended

Post by *LonerD »

Yes, UTF16-LE.
I tried different variants, but every one works only partially.

Simplified tcmatch.dic (one replace and temporary removed additional letters):
https://pastebin.com/raw/kXwq1kKw
Can't find English words when typing Cyrillic.
Bugs when typing Latin: For example, file with name "проверка". Typing "ghjd" - all right... but with next letter "ghjdt" file not finded.

Reverse variant doesn't work too:
https://pastebin.com/raw/hLSeSAZk
File with name "work" can be found with "щкл", but not with "цщкл" or "Цщкл".
"I used to feel guilty in Cambridge that I spent all day playing games, while I was supposed to be doing mathematics. Then, when I discovered surreal numbers, I realized that playing games IS math." John Horton Conway
Post Reply