Problem switching tabs (Script add-in related?)

Whenever I switch from a tab that doesn't have thumbnails enabled to one that does, the one with thumbnails (the current tab) goes to the end of the list of tabs. It can get very confusing with many tabs and similar folder names :confused:
I use a dual pane lister with vertical tabs for each side.

Is that happening with the latest version (12.7)? It sounds like something which was fixed a while ago, but may be something different.

I'm using 12.7.1.

Are any script add-ins installed that might be running something on tab activation?

Does it happen every time you switch tabs (from non-thumbs to thumbs)? Even if the thumbnails have already been generated in the tab you're switching to? (e.g. switch to it, wait for the thumbnails to finish populating, then switch back, then switch to it a second time).

Does it happens with any other modes (e.g. TIles or Large Icons) or just Thumbnails?

After many many restarts, I figured out the problem seems to be the GoRegistry script for some reason. I first narrowed it down to that script by having only one script enabled at a time and it only happens with this one. I can have all the other scripts running without it and it would work fine. I tried enabling it and disabling it multiple times to make sure.
Each time I enabled or disabled a script I restarted the program before testing.
It happens with thumbnails, tiles and large icons and it happened every time even if the thumbnails were already loaded.
It seems like an odd script to causing that kinda problem to me. :confused:

That script has an event which runs when you change folders, which might be involved, although it seems a bit odd. I'm not completely familiar with everything the script does though.

Your best bet is to contact tbone or report the problem in the script's thread, if you think the problem is caused by the script.

@themaneiac
I'm the author of that odd "GoRegistry" script. Hello! o)

Consider to enable the debug output of the script in "Preferences -> Toolbars -> Scripts -> Command.Generic_GoRegistry.js -> DebugOutput".

Then open the "other logs" or script console utility panel and see what output is generated whenever you switch tabs. The script does not contain any code to switch tabs. What you see might be some kind of side effect caused by other things.

Please post the script output and maybe a screenshot of the settings of the script (click it in the scripts section to get there). You can also play with the "WatchLocationFields" setting of GoRegistry. If disabled, directly entering registry paths into the DO path bars will not be possible anymore, but it should completely unhook anything related to observing tabs, so maybe this cures your problem as well.

1 Like

I'm so confused D:
Enabling the script today didn't cause the bug to happen again. I spent like half an hour yesterday switching between enabling all the scripts except GoRegistry and only GoRegistry and I got the same bug only when I had just GoRegistry enabled every single time. I haven't restarted or slept the computer at all and I've not closed or opened any programs besides World of Warcraft.
It logged this with every folder change:

2/27/2018 10:31 AM GoRegistry: GoRegistry.OnBeforeFolderChange():
2/27/2018 10:31 AM GoRegistry: Input: M:.........
2/27/2018 10:31 AM GoRegistry: Quicktesting possible registry path..
2/27/2018 10:31 AM GoRegistry: failed.
2/27/2018 10:31 AM GoRegistry: Proceeding with folderchange.

I noticed while watching it log the folder changes that it didn't log anything when I was switching tabs which is when the bug happened. I don't think it happened when entering a folder. :confused:
Also, I don't know if it's the default or not but I had WatchLocationFields enabled.
I haven't updated the script since I first got it and things used to work fine with it enabled.

Edit: Something I didn't mention yesterday is whenever I enabled the tbone's script it took about 20 to 30 seconds to start acting weird (it could have been 10 seconds maybe, idk). Also I spent a couple minutes each time I was testing without GoRegistry enabled just to make sure it wouldn't happen.

It might be worth trying each script add-in on its own again, and fully exiting Opus (via File > Exit Directory Opus; don't just close and re-open the window) after disabling one and enabling another. That way you can ensure nothing to do with the previous add-in is still active.

Maybe it wasn't the GoRegistry one but one of the others, and disabling it could not completely shut it down without restarting Opus.

I did do it one by one yesterday and I did exit the program completely each time like that. I'll try some more.

I've done a lot more testing and it definitely seems related to GoRegistry. I've done more disabling and re-enabling of the scripts and completely closed the program each time. No matter what the combination of scripts is I always have the problem when GoRegistry is enabled and never have the problem when GoRegistry disabled. I have the problem when only GoRegistry enabled and don't have the problem when nothing is enabled.

Something I noticed since I've been using DOpus more recently is it can also happen with folders without thumbnails too.

Also, I'm not sure if this is to be expected or not but when starting the program up with GoRegistry enabled it slowly loads each tab one by one instead of them all appearing instantly.
@tbone

Edit: Should I bring this up in the scripts thread instead?

Nah, let's stay here for now.
Some more log output and your results regarding the "WatchLocationFields" setting would have been interesting. I can't add that much to your findings right now. DO loading tabs one by one is something I noted as well, will try and see if it's GoRegistry causing this. Thank you.

Disabling "WatchLocationFields" got rid of the slow loading of tabs. I think I missed that part of your message a month ago. The log with and without "WatchLocationFields" enabled was exactly the same for each tab (The same error I posted in the earlier post). The only part of the log I didn't share was the script starting up:
3/28/2018 9:26 AM Command.Generic_GoRegistry.js: GoRegistry.OnAddCommands():

Edit: Disabling “WatchLocationFields” also fixed the problem. I've only ever used this script with the location bar which is what that disables I think.

Ok, one option to keep some of the convenience without the "WatchLocationFields" magic, would be to create a button which asks for a string which then gets passed on to GoRegistry. The button code would be something like this:

GoRegistry PATH={dlgstring}

Additional options/switches are:
"BESTMATCHAUTO/S,BESTMATCH/S,VALIDONLY/S,NOAUTOSELECT/S,REQUESTER/S,REQUESTERONSUCCESS/S,PATH/R"

If disabling the mentioned option cures your problem, go for the button! o)