#807 Address bar inconsistencies browsing samba shares

libfm (215)

With the latest changes in Git, accessing samba shares from network:/// works again, mostly.
I see two strange things still, but I don't know whether they are the fault of libfm/pcmanfm, or gvfs or samba or something.

When I first open a samba share, the address bar shows this:
But then once I navigate anywhere else it is shown differently. If I click on a folder in the share it shows this:
smb://hall%20computer/c drive on hall computer/My Documents
If I then click the up button the new path is still used:
smb://hall%20computer/c drive on hall computer
I don't see the first form of the path again unless I click the unmount icon in the sidebar, and then browse to the share again.

1. " on hall computer" should either be displayed all the time, or not at all. (I don't see the point in displaying it at all, since I can already see the server name at the start of the path - or will the two somehow be different sometimes?).
2. there should be consistency in whether or not a space is converted to %20.

The third issue is that it is impossible to use the address bar anywhere in the samba shares. If I click in the address bar and then press enter, the path changes to this:
smb://hall%20computer/._c drive on hall computer
And I get the message "Error. File doesn't exist".
I have tested without spaces in the share names and the server netbios name, and the same thing still happens. (FWIW if I click in the address bar a second time and press enter, another ._ is inserted).


1 2 3 > >> (Page 1 of 3)
  • Thank you very much. I've pushed some corrections into GIT few moments ago. Check if that fixed part or all the found problems, please.

    • assigned_to: nobody --> lstranger
    • milestone: --> 1.2
    • labels: --> libfm
  • alister.hood

    Yes, the second issue is resolved. The first and 3rd are unchanged.

  • alister.hood

    Oh, I notice that when I browse to this:
    smb://green room/Arch
    It is displayed in the sidebar as this:
    arch on green room
    I guess I can see the point in the " on green room" in the sidebar.
    But this shows another minor inconsistency - why is there a lowercase "a" in the sidebar instead of a capital "A"?

  • alister.hood

    Regarding the third issue, I see that running this in a terminal works:
    pcmanfm "smb://green room/Arch"
    So I think it is definitely a bug that I can't open the same location from the address bar.

  • About the path in command line and in interface. In 1.2.0 it is WYSIWYG now, as it should be, i.e. it shows and accepts exclusively displayable name, not machine-represented one. It is only consistent way to do it. I illustrate it with two examples why it should be that way.

    1. Look into Applications folder. You can see a folder "Audio & Video" there. How do you supposed to enter the folder typing it in Location bar? Obviously it should be "menu://applications/Audio & Video", right? You enter directory with that name so it should be. But if you let location bar to contain not human-readable, but "true filesystem" path, it should contain "menu://applications/Multimedia" instead. Any other path will return "No such file or directory". How user can calculate "right" path before entering the folder with name that have nothing in common?

    2. Let suppose the filesystem is not in UTF-8 encoding. Then "true filesystem" path is "file:///home/user/%F4%D5%D4" while displayable path is "/home/user/Тут". How do you suppose to make user handle that? Manually convert and encode the folder name to be able enter it? Yes, it will be shown in the folder "/home/user" as subfolder "Тут", no file:// or %F4%D5%D4 is ever shown before you enter it.

    Are those two examples enough to understand reasons for consistency between location bar and names which you see in the folder? Well, if you enter something in the command line, you should use "true filesystem" path, it's "smb://green room/Arch" in your example. But in location bar (as well as shown in the folder view and in the sidebar too) it should be "smb://green room/arch on green room" instead. You really should try that name, it should work, at least I've tested it as much as I could. It may not work if target location is not mounted, in that case LibFM cannot do the path search, you should mount it first. Just go in the folder containing the mount point and enter it, samba will do it if you are permitted to enter.

    If you want to find the "true filesystem" path you can open the Properties window and copy-paste fileds Location and File from there so you can use those components to build the path that can be used in the command line still.

    Why it is shown as "c%20drive" before but "c drive on hall computer" after - that question should be addressed to the samba gfvs driver, it should not change in the browsing process I believe, and LibFM does nothing with it, it just shows what gfvs reports. May be I should add some debug messages into the folder loading so we can investigate the case.

  • alister.hood

    > But in location bar (as well as shown in the folder view and in the sidebar too) it should be "smb://green room/arch on green room" instead. You really should try that name, it should work, at least I've tested it as much as I could.

    No, it doesn't work, that's exactly what I tried, but ._ always appears before the share name after I press enter.

  • Ah, I see. I've added a bit of debug info after pressing Enter. You should get in log something like this:
    DEBUG: FmPathEntry activated: 'smb://green room/arch on green room' => 'smb://green%20room/Arch'
    I would like to see what is in your debug.
    Thank you very much!

  • alister.hood

    I don't see it either in the terminal output or in the system log (journalctl). Is there somewhere else I should be looking?

1 2 3 > >> (Page 1 of 3)