void RefreshStatusWindow() { debugStatusWindow.AlignWith(window.Frame); var anyFocusedView = view != null; if (!anyFocusedView) { return; } var elements = view.GenerateLog("Current"); if (nextKeyView != null) { elements.AddRange(nextKeyView.GenerateLog("Next")); } ; if (previousKeyView != null) { elements.AddRange(previousKeyView.GenerateLog("Previous")); } ; debugStatusWindow.GenerateStatusView(elements); watcher = new NSFirstResponderWatcher(window); watcher.Changed += (sender, e) => { if (e != null) { RefreshDebugData(e); } }; watcher.Start(); }