--(void) applicationDidFinishLaunching:(NSNotification*) notification {
- [jsController setup];
- [drawer open];
- [targetController setEnabled: NO];
- self.active = NO;
- [configsController load];
- [[[NSWorkspace sharedWorkspace] notificationCenter]
+- (void)applicationDidFinishLaunching:(NSNotification *)notification {
+ [drawer open];
+ self.targetController.enabled = NO;
+ [self.inputController setup];
+ [self.mappingsController load];
+ [NSNotificationCenter.defaultCenter
+ addObserver:self
+ selector:@selector(mappingDidChange:)
+ name:NJEventMappingChanged
+ object:nil];
+ [NSNotificationCenter.defaultCenter
+ addObserver:self
+ selector:@selector(eventTranslationActivated:)
+ name:NJEventTranslationActivated
+ object:nil];
+ [NSNotificationCenter.defaultCenter
+ addObserver:self
+ selector:@selector(eventTranslationDeactivated:)
+ name:NJEventTranslationDeactivated
+ object:nil];
+}
+
+- (void)applicationWillTerminate:(NSNotification *)aNotification {
+ [NSUserDefaults.standardUserDefaults synchronize];
+}
+
+- (void)eventTranslationActivated:(NSNotification *)note {
+ activeButton.image = [NSImage imageNamed:@"NSStopProgressFreestandingTemplate"];
+ activeMenuItem.state = [note.object translatingEvents];
+ [NSWorkspace.sharedWorkspace.notificationCenter