That's interesting.  The C header files (CarbonCore/Finder.h) give me
little-endian data on my x86 machine.

Bill

On Dec 11, 6:59 pm, "ted bonkenburg" <[email protected]> wrote:
> On Thu, Dec 11, 2008 at 6:39 PM, Bill <[email protected]> wrote:
>
> > Thanks, Ted.  Very helpful.
>
> > Am I correct in believing that the value returned from getxattr
> > ("com.apple.FinderInfo") is always 32 bytes long in big-endian order?
> > That seems to be what the ObjC code you pointed to implies.
>
> That sounds right.
>
> ted
>
>
>
> > Bill
>
> > On Dec 9, 9:27 pm, "ted bonkenburg" <[email protected]> wrote:
> >> On Tue, Dec 9, 2008 at 7:52 PM, Bill <[email protected]> wrote:
>
> >> > I'm trying the very nifty new ctypes-based Python binding to FUSE by
> >> > Giorgos Verigakis (http://code.google.com/p/fusepy/) with MacFUSE, and
> >> > am at the point of wanting custom folder icons.  It's a bit tricky
> >> > getting custom icons for files; you have to generate a valid OS X HFS+
> >> > resource fork containing the icon in Apple's '.icns' format, a format
> >> > not supported in many image processing suites, and pass it back in
> >> > response to getxattr(*, 'com.apple.ResourceFork').  But I've got that
>
> >> I believe you also need to return com.apple.FinderInfo data with the
> >> kHasCustomIcon bit set. Did you manage to get custom icons working
> >> without doing this?
>
> >> The Objective-C framework has some code (BSD-style license) that
> >> generates FinderInfo and ResourceFork data. You might find that
> >> useful. See GMFinderInfo.{h,m} and GMResourceFork.{h,m} here:
>
> >>http://macfuse.googlecode.com/svn/trunk/core/sdk-objc/
>
> >> > working.  Will that also work for folders?
>
> >> Sort of. I got this working in the Objective-C API for MacFUSE on
> >> Tiger and Leopard, so I should be able to help you. I can't quite
> >> remember all of the details but I took a look through the Objective-C
> >> API code to see what it is doing (see below).
>
> >> First of all, I'll assume you don't need to support Tiger. If you do,
> >> then there are other hoops that you need to jump through. I can go
> >> over that if need be but will skip for now.
>
> >> > I've been told that the way to do it with folders is different; you
> >> > create a file called 'Icon\r' (yes, containing a carriage return), and
> >> > put it in the folder, to give a folder a custom icon.  I find that
> >> > hard to believe...
>
> >> That is part of what you need to do. The "Icon\r" file should reside
> >> in the directory that you want to have a custom icon. It should be an
> >> empty file. The Objective-C framework gives it a com.apple.FinderInfo
> >> that has the kHasCustomIcon and kIsInvisible flags set. The
> >> com.apple.ResourceFork data of the "Icon\r" file is the same resource
> >> fork data that you would need to return for a custom icon on a
> >> standard file. I believe the "Icon\r" file was used because a
> >> directory could not have a resource fork. On Leopard you do not need
> >> the "Icon\r" file in the directory listing. However, it should be able
> >> to be stat'd directly. Finally, the Objective-C framework returns a
> >> com.apple.FinderInfo on the directory itself with the kHasCustomIcon
> >> bit set.
>
> >> Let me know if this works for you.
>
> >> ted
>
> >> > Thanks for any tips.
>
> >> > Bill
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"MacFUSE" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/macfuse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to