Support magic @Application token for automatic mapping names. Fall back to the bundle...
[enjoyable.git] / EnjoyableApplicationDelegate.m
index 1406115..2478b4e 100644 (file)
 @implementation EnjoyableApplicationDelegate
 
 - (void)didSwitchApplication:(NSNotification *)note {
-    NSRunningApplication *currentApp = note.userInfo[NSWorkspaceApplicationKey];
-    [self.mappingsController activateMappingForProcess:currentApp.localizedName];
+    NSRunningApplication *activeApp = note.userInfo[NSWorkspaceApplicationKey];
+    NSString *name = activeApp.localizedName;
+    if (!name)
+        name = activeApp.bundleIdentifier;
+    if (name && ![name isEqualToString:NSRunningApplication.currentApplication.localizedName])
+        [self.mappingsController activateMappingForProcess:name];
 }
 
 - (void)applicationDidFinishLaunching:(NSNotification *)notification {