File system plugin causes delay when showing separate tree

Please report only one bug per message!

Moderators: white, Hacker, petermad, Stefan2

Post Reply
ruler26
Junior Member
Junior Member
Posts: 8
Joined: 2011-11-02, 06:17 UTC

File system plugin causes delay when showing separate tree

Post by *ruler26 »

STR

1. Open a fresh install of TC.
2. Show a Separate Tree, one for both panels (Show=>Separate Tree=>1 (One For Both Panels)).
3. Install Services File System Plugin http://www.totalcmd.net/plugring/services.html
4. In the path box for one of the panels, type \\\Services
5. When the services are listed, immediately double-click or hit enter on one of the services.

When I do this on my machine, TC stops responding for several seconds before the service information dialog is opened. If I skip the 2nd step (don't show a separate tree), then TC is fine and doesn't pause at all.

I'm assuming that TC is doing network discovery when I use a File System Plugin while a separate tree is visible. While it would be great if TC didn't block the UI during network discovery, is there a way to turn off network discovery in TC as a stop-gap fix? I don't actually use the Network Neighborhood/Places functionality myself.

My specs:
- Windows 7 64-bit
- Total Commander 8.01 32 bit

Thanks,
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Since plugins aren't necessarily thread-safe, TC has to call them synchronized here. Therefore it can block TC when it takes a long time to read the data for the tree. Sorry, there is nothing I can do.
Author of Total Commander
https://www.ghisler.com
ruler26
Junior Member
Junior Member
Posts: 8
Joined: 2011-11-02, 06:17 UTC

Post by *ruler26 »

I understand that the plugins are blocking TC while they wait for the tree info to become available, so there's nothing TC can do to avoid having a plugin block the UI.

However, could you please explain why adding an option to disable network discovery isn't a viable option? This way, the tree won't take so long to become available and the plugins shouldn't block TC as a result.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Could you explain how this should work from a user's point of view? In the normal file lists, there is a "reload network" entry, but how to handle this with the tree?
Author of Total Commander
https://www.ghisler.com
ruler26
Junior Member
Junior Member
Posts: 8
Joined: 2011-11-02, 06:17 UTC

Post by *ruler26 »

Hi, here's how I think it would work:

1. The user would modify the [Configuration] section of wincmd.ini and add the following option:

PerformAutoNetworkDiscovery=0 (default is 1)

2. The user launches TC:

Image: http://i296.photobucket.com/albums/mm163/ruler26/TC_1.gif

3. The user navigates to a file system plugin via the directory menu (Environment Variables file system plugin in this case):

Image: http://i296.photobucket.com/albums/mm163/ruler26/TC_2.gif

4. The tree on the left loads. The network list shows the file system plugins, but does not show any network nodes because TC did not do any network discovery. The tree should also load much faster because it does not have to wait for any network discovery to complete. If the user wants the left tree to do network discovery, they right-click on "Network" and select a new option, "Refresh":

Image: http://i296.photobucket.com/albums/mm163/ruler26/TC_3-1.jpg
Last edited by ruler26 on 2012-08-14, 15:51 UTC, edited 3 times in total.
umbra
Power Member
Power Member
Posts: 871
Joined: 2012-01-14, 20:41 UTC

Post by *umbra »

It would be much better to just move FileSystem plugins out of Network Neighborhood to a separate location. It would be more logical and working with such plugins would be faster too. New users always wonder, where are their new FileSystem plugins and no one expects them to be mixed up with network devices. But this has been suggested many times ...
Windows 7 Pro x64, Windows 10 Pro x64
ruler26
Junior Member
Junior Member
Posts: 8
Joined: 2011-11-02, 06:17 UTC

Post by *ruler26 »

umbra wrote:It would be much better to just move FileSystem plugins out of Network Neighborhood to a separate location.
I know that ghisler is concerned that moving the FileSystem plugins would confuse existing users who are used to the plugins being listed in Network Neighborhood.

I'd like to suggest an option for moving the FS plugins to make both parties happy:


1. The user would modify the [Configuration] section of wincmd.ini and add the following option:

ShowFSPluginsUnderMyComputer=1 (default is 0)

2. The user launches TC and sees the FS plugins listed in a File System Plugins entry under Computer:

Image: http://i296.photobucket.com/albums/mm163/ruler26/TC_4-1.gif
umbra
Power Member
Power Member
Posts: 871
Joined: 2012-01-14, 20:41 UTC

Post by *umbra »

... moving the FileSystem plugins would confuse existing users who are used to the plugins being listed in Network Neighborhood.
I've been using TC for a few years and I still find it awkward.
ShowFSPluginsUnderMyComputer
Hiding FS plugins inside My Computer would be even worse. Many people don't even know about that virtual folder or how to get there.
And what about a separate "drive" button? Just like one we get one when using FTP . Just put it before/after Network Neighborhood button so it doesn't get in the way.

But to make sure, we are not off topic here: would separating FS plugings from Network Neighborhood help with your issue?
Windows 7 Pro x64, Windows 10 Pro x64
ruler26
Junior Member
Junior Member
Posts: 8
Joined: 2011-11-02, 06:17 UTC

Post by *ruler26 »

I think so. I think that separating FS plugins from Network Neighborhood would fix the blocking issue that I'm seeing, because using an FS plugin would not expand the Network node and cause the tree to wait until the network discovery completed.

umbra, are you suggesting something like this in regards to the location of the FS plugins?

Image: http://i296.photobucket.com/albums/mm163/ruler26/TC_5.gif
umbra
Power Member
Power Member
Posts: 871
Joined: 2012-01-14, 20:41 UTC

Post by *umbra »

2ruler26
For example, yes.
Windows 7 Pro x64, Windows 10 Pro x64
ruler26
Junior Member
Junior Member
Posts: 8
Joined: 2011-11-02, 06:17 UTC

Post by *ruler26 »

ghisler(Author) wrote:Could you explain how this should work from a user's point of view? In the normal file lists, there is a "reload network" entry, but how to handle this with the tree?
Here's a better mock-up screen of what TC would look like if adding a PerformAutoNetworkDiscovery=0 (default is 1) option were viable:

Image: http://i296.photobucket.com/albums/mm163/ruler26/Total-commander-no-network.jpg

Tip Top is another file system plugin.
Post Reply