CocoaDev

Edit AllPages

Private framework that seems to handle disk/dvd/ipod insertion. It’s preferences are stored in com.apple.digihub

It’s preferences have a numeric value. When I change the default action from Opening iTunes to ignore, the value of [com.apple.digihub.cd.music.appeared key:action] changes to 1 (is 101 when you set it to open iTunes)

When I set the prefs to open a custom app it becomes:

"com.apple.digihub.cd.music.appeared" = {
    action = 5; 
    otherapp = {
        "_CFURLString" = "Path to application"; 
        "_CFURLStringType" = 0; 
    }; 
}; 

So, conclusion: to customize what happens when you insert a cd, open the defaults domain “com.apple.digihub”. and set the preferences like above

when class dumping SystemUIServer you’ll find 2 classes related to DigiHub, here’s the dump:

@interface DigiHub : NSObject { struct __CFRunLoopSource *_diskArbSource; NSDictionary *_defaultActions; NSDictionary *_bundleIDMapper; NSMutableDictionary *_digiHubPrefs; NSMutableDictionary *_specificMedia; NSMutableArray *_specificMediaList; NSMutableDictionary *_specificiPods; NSMutableArray *_specificiPodList; NSMutableDictionary *_specificDVCameras; NSMutableArray *_specificDVCameraList; NSMutableDictionary *_askDialogList; NSMutableDictionary *_ejectList; NSString *_uiscriptrunnerPath; NSMutableDictionary *_ipods; NSDictionary *_mountControls; NSDictionary *_unmountControls; NSDictionary *_ejectControls; BOOL _isConsoleSession; }

@end

@interface DigiHub (private)

@interface DigiHubEvent : NSObject { NSString *_event; int _action; int _defaultAction; NSURL *_app; NSURL *_script; unsigned int _aeEventID; BOOL _performAtLogin; }

@end