Page 1 of 1

"Cycle Tabs Forward/Backward" can fail if folder with a large number of files is loading

Posted: 27 Dec 2021 09:39
by aminomancer
I am using the "Cycle Tabs *ward" keyboard shortcuts and they can fail while loading certain folders. It seems to be that something involved in loading folder contents is a blocking action for certain keyboard shortcut methods. I can't definitely say what the conditions are, but this happens in my Temp folder (C:\Users\*\AppData\Local\Temp) which has 3483 files in it. Everything is generally laggy in this folder, unsurprisingly. But it's odd that the shortcut doesn't work at all for a few seconds after viewing the folder. It's not that it just takes longer for the hotkey callback to execute; I hit the hotkey and nothing happens. After viewing the folder, if I wait for like 10 seconds, then the hotkeys will work.

Actually, the "Cycle Tabs Backward" starts working after about 10 seconds, while "Cycle Tabs Forward" starts working after about 1-2 seconds. Moreover, if I hit the keyboard shortcut very quickly after viewing the folder (say I keyboard shortcut into a tab that already has the Temp folder open, then rapidly hit the keyboard shortcut again, before the folder contents have begun to load) it will work just fine. So, for the first few hundred milliseconds, keyboard shortcut works. But then something about folder content loading begins, which blocks the keyboard shortcut for 1-10 seconds (depending on the shortcut), then whatever was blocking finishes and the keyboard shortcut works again.

Ideally, rather than this loading blocking the shortcuts, the shortcuts should bail out of the loading. I don't know anything about the source code of course, can't give much less abstract information.

Re: "Cycle Tabs Forward/Backward" can fail if folder with a large number of files is loading

Posted: 27 Dec 2021 12:20
by admin
Hmmm, 10 secs? :eh: That can only be explained by some heavy work still going. Are you showing any heavy columns in that list?

Re: "Cycle Tabs Forward/Backward" can fail if folder with a large number of files is loading

Posted: 11 Jan 2022 07:45
by aminomancer
admin wrote: 27 Dec 2021 12:20 Hmmm, 10 secs? :eh: That can only be explained by some heavy work still going. Are you showing any heavy columns in that list?
Column layout is:
Line Number | Name | Size | Ext | Type | Modified | Created

But it definitely gets worse the more columns I add. I have a pretty heavy custom scripted column that shows <prop #ItemCount> but I only display it in specific tabs. Surprisingly, that one doesn't make much of a difference in this if I do enable it. I think it's just the sheer number of files/folders in the temp folder. (currently 4381) But I disable it in this context anyway since I'm trying to do everything I can to minimize the lag.

When I close the temp directory while it's open (while it's the active tab), xyplorer also bugs out. Whether I hit Ctrl+W or click the close button, if the temp directory's contents are on screen, it does nothing. The tab stays open. Clicking the tab's close button actually has no effect at all for the temp directory, ever. Works fine for other folders, just not this one. But hitting Ctrl+W can work, but at first it does nothing. I have to quickly hit the hotkey and then quickly switch tabs (either with the cycle hotkey or by clicking another tab with the left mouse button), and then it will close the tab. If I wait too long before switching tabs, the hotkey ends up doing nothing. Whereas if I try to close the tab with the close button, there's just no effect at all.

It's quite strange since it only happens in this folder, my TmpD C:\Users\*\AppData\Local\Temp. But that's not surprising since I don't have any other folders on my computer or network that have as many (non-recursive) contents.

Edit: To be clear, this still happens whether I enable or disable Auto-Refresh. And it happens no matter how long the tab has been open for.

Re: "Cycle Tabs Forward/Backward" can fail if folder with a large number of files is loading

Posted: 11 Jan 2022 08:28
by highend
Maybe record a video of it?

Use e.g.: https://github.com/LastLifeLeft/Inputify
to show what you're clicking / pressing

and e.g.: https://github.com/NickeManarin/ScreenToGif
to record it

The last version not requiring .NET 6 is 2.34.1...