Here's my late-night reasoning based on the following sources http://lists.apple.com/archives/Cocoa-dev/2009/Sep/msg00201.html http://developer.apple.com/library/mac/#documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-107284-BCIEFAJI http://stackoverflow.com/questions/3859747/how-do-i-automatically-activate-an-item-in-the-os-x-services-menu
>From /System/Library/CoreServices/pbs -dump_pboard output or ~/Library/Caches/com.apple.nsservicescache.plist, if a service's NSBundleIdentifier key contains com.apple (or similar system condition) then it's active by default, else if NSRequiredContext key is set with or without value it's active by default, else it's not active. Further modified values are written to ~/Library/Preferences/pbs.plist. NSRequiredContext is — I assume — what allows Services Manager app to restore defaults on a per service basis. You might try Services Manager yourself and disable/restore a service to see if pbs.plist is created and the above makes any sense. On Thursday, March 14, 2013 1:54:29 AM UTC+1, Patrick wrote: > > Unfortunately I don't seem to have the bps.plist file on my system, > perhaps that's what Services Manager uses. The > com.apple.nsservicescache.plist file has some useful information but it > doesn't seem to be complete with all the info we'd need. > I'd considered looking at whether or not the service has a shortcut key, > but that won't necessarily work (you may want to use a service from within > QS but not have to use a shortcut key). > > The only other file of interest that I've found is the > ~/Library/Preferences/com.apple.ServicesMenu.Services.plist > Again, the NSUnrestricted array looks useful, but isn't complete with all > the services. > If you figure anything out/decipher any of the files let me know then I'll > have a look at implementing it in the plugin. > > As for the NSServiceModifications.plist file - that's a way for us to hard > code which services should be avoided from QS, e.g. there are some which > are just plain pointless from ever showing up in QS. > The file was in existence long before I started maintaining the plugin, so > I perhaps would have done things differently... :) > > > On 13 March 2013 21:21, 1.61803 <[email protected] <javascript:>> wrote: > >> Hi there, me neither, but I traced it to >> >> ~/Library/Preferences/pbs.plist >> ~/Library/Caches/com.apple.nsservicescache.plist >> >> Actually, it seems only the first one has relevant data. It has roughly >> the same domain/service/enabled structure — I say roughly because it has >> keys for enabled_context_menu, enabled_services_menu, key_equivalent. >> If the plugin reads the second key it would spare much ticking around in >> QS prefs :) You could also include a reference to Services Manager app in >> its documentation, as it seems the only available to clean up the services >> menu. >> >> Btw, why the NSServiceModifications.plist? >> >> On Wednesday, March 13, 2013 12:05:19 PM UTC+1, Patrick wrote: >>> >>> I'm not sure how the Servces Manager App works, but Quicksilver only >>> considers the services in that .plist you mentioned when ignoring files. >>> That would be the best way to ignore things at the moment, but it will >>> require you to re-set all the services every time we update the plugin. >>> >>> If you know how the services menu app works, that would be helpful. E.g. >>> if it saves the data to a universal .plist (user defaults) that we can also >>> check. >>> >>> Thanks >>> >>> On 13 March 2013 02:21, 1.61803 <[email protected]> wrote: >>> >>>> I disabled services with Services Manager >>>> app<http://macosxautomation.com/services/servicesmanager/>but the >>>> corresponding actions keep showing in QS. >>>> >>>> Shouldn't the plugin only add actions for active services? >>>> >>>> Or, should I manually tweak ~/Library/Application >>>> Support/Quicksilver/PlugIns/**com.blacktree.Quicksilver.** >>>> QSServicesMenuPlugIn.DE.**qsplugin/Contents/Resources/** >>>> NSServiceModifications.plist? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Quicksilver" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to blacktree-quicksilver+**[email protected]. >>>> To post to this group, send email to blacktree-...@**googlegroups.com. >>>> Visit this group at http://groups.google.com/** >>>> group/blacktree-quicksilver?**hl=en<http://groups.google.com/group/blacktree-quicksilver?hl=en> >>>> . >>>> For more options, visit >>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>>> . >>>> >>>> >>>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Quicksilver" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:> >> . >> To post to this group, send email to >> [email protected]<javascript:> >> . >> Visit this group at >> http://groups.google.com/group/blacktree-quicksilver?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- You received this message because you are subscribed to the Google Groups "Quicksilver" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/blacktree-quicksilver?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
