Changing iPod AFP Icon

Discussion in 'iPod touch Hacks' started by nylock10, Mar 21, 2008.

  1. macrumors regular

    Joined:
    Jun 26, 2006
    #1
    Hey,

    I put AFPd on my iPod touch to manage files with Finder, but how can I change the icon from a cinema display to an iPod touch?

    Here's a screenshot:
    [​IMG]
     
  2. macrumors regular

    Joined:
    Feb 14, 2008
    Location:
    Austin, TX, USA
    #2
    It won't be as easy as you might think.

    The information about what model each machine on the network is is gathered through Bonjour. Normally, Macs send out a special _device-info._tcp "service" with additional data of, for instance, "model=MacBook3,1". On Linux using avahi, I've been able to set icons with a service entry like this:
    Code:
    <?xml version="1.0" standalone='no'?><!--*-nxml-*-->
    <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <service-group>
      <name>thehostname</name>
      <service> 
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=iMac7,1</txt-record>
      </service>
    </service-group>
    as well as service entries for AFP, SMB, or VNC (doesn't matter, but you need to share one of them for your machine to show up in Finder.)

    The second piece of the puzzle is the icons: The icons themselves are in /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources, and the mapping from model identifiers to icons is in /Contents/Info.plist in the same bundle. (Look at UTExportedTypeDeclarations, down toward the later entries. For instance, on my machine, the 17" MBP is #225.)

    I think you could export a similar type declaration from any bundle, as long as you were able to get Finder to open it. I'm not sure exactly how this mechanism works; perhaps someone else can chime in with details.

    The real question, I suppose, is whether the iPod touch broadcasts a _device-info entry. If not, I'm not sure how you'd make it do so.
     
  3. macrumors regular

    Joined:
    Jan 15, 2008
    #3
    Or you could be totally lazy and just swap the local ACD icon for an iPT one. :D
     
  4. thread starter macrumors regular

    Joined:
    Jun 26, 2006
    #4
    Changing the defulat Mac icon in Core Servers worked great, thanks.

    [​IMG][​IMG]

    I even grabbed a picture of my iPod's home screen and added it to the iPod icon :D
     
  5. macrumors member

    Joined:
    Dec 2, 2007
  6. macrumors regular

    Joined:
    Feb 14, 2008
    Location:
    Austin, TX, USA
    #6
    Heh, or you could do that. Of course, now any unidentified Mac will show up as an iPod touch on your machine, but if you're okay with that...

    Also, you might need to re-apply your change for successive patches that change the CoreTypes.bundle (mostly point-releases, I imagine).
     
  7. thread starter macrumors regular

    Joined:
    Jun 26, 2006
    #7
    I'm hoping I won't have an unidentified computer on my network anytime soon lol

    The SMS application is just MobileChat, I have an AIM account I use to send text messages to friends' cell phones (using the +1[Area Code][Number] method).
     
  8. macrumors regular

    Joined:
    Feb 14, 2008
    Location:
    Austin, TX, USA
    #8
    Well, pre-10.5 machines show up as the generic ACD; the model-broadcast wasn't added until Leopard.
     
  9. macrumors regular

    Joined:
    Jan 30, 2007
    #9
    Is it possible to change the model sent to bonjour on a Mac? I tried to find the conf file but it seems like Mac OS X uses some different thing.
     
  10. macrumors regular

    Joined:
    Feb 14, 2008
    Location:
    Austin, TX, USA
    #10
    I've only been able to make Linux machines look like Macs; I don't know enough about how to publish services with Bonjour on OS X, unfortunately.

    Considering that the device-info broadcast is automatically done with the model-identifier of your machine (like, say, MacBook3,1), I'm not sure if there'd be a way to override the automatic setting.
     
  11. Czo
    macrumors member

    Joined:
    Dec 30, 2008
    Location:
    Debrecen, Hungary
    #11

Share This Page