count:len];
}
-
- (void)activateMappingForProcess:(NSString *)processName {
- NJMapping *oldMapping = manualMapping;
- NJMapping *newMapping = self[processName];
- if (!newMapping)
- newMapping = oldMapping;
- if (newMapping != _currentMapping)
- [self activateMapping:newMapping];
- manualMapping = oldMapping;
+ if ([manualMapping.name.lowercaseString isEqualToString:@"@application"]) {
+ manualMapping.name = processName;
+ [self mappingsChanged];
+ } else {
+ NJMapping *oldMapping = manualMapping;
+ NJMapping *newMapping = self[processName];
+ if (!newMapping)
+ newMapping = oldMapping;
+ if (newMapping != _currentMapping)
+ [self activateMapping:newMapping];
+ manualMapping = oldMapping;
+ }
}
- (void)activateMapping:(NJMapping *)mapping {
if (result != NSFileHandlingPanelOKButton)
return;
[panel close];
+ [NSProcessInfo.processInfo disableSuddenTermination];
NSError *error;
NSDictionary *serialization = [mapping serialize];
NSData *json = [NSJSONSerialization dataWithJSONObject:serialization
if (!error)
[json writeToURL:panel.URL options:NSDataWritingAtomic error:&error];
+ [NSProcessInfo.processInfo enableSuddenTermination];
if (error) {
[window presentError:error
modalForWindow:window