- [self.jsController setup];
- [self.configsController load];
- [[NSWorkspace sharedWorkspace].notificationCenter
+ [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