xffm, samba, cygwin
edscott wilson garcia
edscott at xfce.org
Wed Sep 22 03:09:13 CEST 2004
El mar, 21-09-2004 a las 09:51, Maarten Boekhold escribió:
> edscott wrote:
>
> If you can come up with some configure/autotools magic to conditionally
> exclude samba from the build, I'd be much obliged.
OK, done. Just run configure with --disable-smbbranch.
>
> > Other programs xffm uses are
> > mount,umount (for fstab branch), cp, mv, tar, mkisofs. The only
> > indispensable ones are cp/mv.
>
> These are all available as far as I know, except that mount/umount works
> differently under cygwin. There's no fstab. So we might have to tinker a
> bit if we want to get that working. Perhaps the best option is to write
> a cygwin-specific plugin for managing cygwin mounts.
I seriously doubt whether the fstab stuff will be of any utility under
windows.
>
> Edscott, I'm a bit confused about how the plugins that are in the
> xffm/libs directory are handled. As far as I can tell these are proper
> plugins, i.e. they get installed in a module directory, and should be
> loaded using g_module_open etc. Except I can't figure out where this is
> happening. Can you please elaborate?
Xffm uses two types of modules. The first type are the general purpose
modules in libxfcegui4/xfce4-modules. The second type are the modules
which require xffm libraries to run (so far just 3 modules: find, samba,
and properties dialog). Both types are loaded and unloaded in the same
way. All code for loading and unloading is in libs/modules.c,h. Every
module has a "module_init()" which returns a pointer to a structure
with the exported functions. To make things simple, instead of worrying
when to load a module, instead of using a call to the the module
function, I use a lookalike macro that will load the module if not
loaded (see header files in libxfcegui4/xfce4-modules). Thus,
const gchar *mimetype = MIME_get_type(file,TRUE);
looks natural, but really does:
const gchar *mimetype =
(*(load_mime_module()->mime_get_type))(*(load_mime_module()->mime_get_type))
load_mime_module() is at libs/modules.c.
> Also, somebody mentioned on IRC that xffm installs itself numerous times
> with a bunch of hardlinks. I assume that xffm acts as a wrapper around a
> lot of functionality. Can you please elaborate why it is using hardlinks
> instead of symlinks? Under cygwin there are no true hardlinks, instead
> it just creates a copy of the file, which would be a waste of space.
> symlinks however should work.
Originally it was using symlinks. Jasper changed them to hard links for
several good reasons which I can't remember at the moment. Since
hardlinks are unavailable under cygwin, softlinks should be used for
windows instead.
>
> Apart from the previous mentioned libs/modules, I analyzed all other
> plugins, and it appears no changes are necessary (apart from the cygwin
> CFLAGS/LDFLAGS/LIBADD stuff) to get these working correctly. Good news.
Cool. :-)
regards,
Edscott
>
> Maarten
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://lunar-linux.org/mailman/listinfo/xfce4-dev
>
More information about the Xfce4-dev
mailing list