GTK+ App to list workgroups, shares, servers, directories, etc

Richard Sharpe sharpe at
Sun Jan 7 19:47:41 GMT 2001

At 03:14 PM 1/7/01 +0100, Jelmer Feenstra wrote:
>On Sunday 07 January 2001 13:59, you wrote:
>> Hi,
>> Well, I have committed more changes to tree.c, the GTK+ app that can list
>> all the workgroups, servers, shares, etc on your network.
>Nice, I'll try to build it somewhere today :)
>> It still has many problems, but can now list right down into directories,
>> although I have to remove . and .. from its display.

Another problem it currently has is that it hard codes the username and
password needed on the remote machine when authentication is needed. These
are set to test and test, respectively. 

I will code up a dialog box to prompt for these soon :-)

>So I take it directory listing implementation is functional at the moment ? 
>If it is, modifying the original smb kioslave to use your libsmbclient code 
>instead of Nicolas' libsmb code shouldn't be to hard. Especially since both 
>libraries have just reimplemented the standard libc read/write/open 
>functions, right ?

Yes, I have tried to implement a POSIX-like interface, but I am not sure
that I have succeeded here, as I am not sure that getdents is a posix-like

>                   I am not sure whether you are also planning on writing
>kioslave, but I don't think a complete rewrite would be necessary.

I am not planning on touching kioslave. All I need is enough to check that
things are working OK.

>> I am now looking for a way to have a tree view with a list of items against
>> each listitem in the tree view. I am finding this little application very
>> good at finding bugs for me and forcing me to make sure everything is
>> implemented properly, so I am interested in continuing its development.
>> Anyone know of a neat widget that can give me a tree view with columns
>> where I can put in info, like file characteristics (hidden, archive, etc)
>> and size and date and time?
>Hmm, I once used gtk to implement a GUI but it didn't use a tree view, so I 
>don't know anything about that :(
>I have been trying your libsmbclient code and it seemed to work ok, a few 
>things are not completely clear to me... for example : why do you ask for
>workgroup in your testsmbc.c while you've already defined the workgroup as 
>being "sambanet" ? Does the (your) workgroup need to be known in order to
>the lib ?

That is a remenant of my testing. You do not need my workgroup in there,
and I will probably remove the workgroup param from smbc_init, as it is not
needed at that point. I should also probably cache credential info in
testsmbc ...

>Well I'm going to try and do some useful things with your work (I'm on a big 
>smb network here), I've actually eagerly been awaiting your library ! One 
>more thing, is the directorylisting code stable in the sense that the way it 
>handles the entries etc stays this way ? If it does, I can probably start 
>using you library now even though it's not completely bugfree.

The API should remain the same, the internals may change.

One thing I am not happy with is the way the Samba code returns directory
info with call-backs. This forces me to pick up all the directory info in
one go when you call smbc_diropen, and can consume lots of memory and take
a long time for the diropen.

>Jelmer Feenstra

Richard Sharpe, sharpe at
Samba (Team member,, Ethereal (Team member,
Contributing author, SAMS Teach Yourself Samba in 24 Hours
Author, Special Edition, Using Samba

More information about the samba-technical mailing list