diff --git a/Free Ruler/AppDelegate.swift b/Free Ruler/AppDelegate.swift
index 0956b4e..7f7ed70 100644
--- a/Free Ruler/AppDelegate.swift
+++ b/Free Ruler/AppDelegate.swift
@@ -79,8 +79,17 @@ class AppDelegate: NSObject, NSApplicationDelegate {
settingsController.close()
}
}
- manager.onStateChanged = { [weak self] _ in
- self?.saveRulerSetState()
+ manager.onStateChanged = { [weak self] manager in
+ guard let self = self else { return }
+
+ self.saveRulerSetState()
+
+ let activeController = manager.activeController
+ guard let settingsController = self.rulerSettingsController,
+ settingsController.currentRulerController === activeController,
+ settingsController.window?.isVisible == true else { return }
+
+ settingsController.updateView()
}
return manager
}()
diff --git a/Free Ruler/Base.lproj/MainMenu.xib b/Free Ruler/Base.lproj/MainMenu.xib
index aa26542..7db7dd7 100644
--- a/Free Ruler/Base.lproj/MainMenu.xib
+++ b/Free Ruler/Base.lproj/MainMenu.xib
@@ -79,6 +79,12 @@