void (@NotNull JComponent component, @NotNull Disposable disposable) { assert myWindow == null; Disposer.register(disposable, this); // we can use KeyListener on Editors, but Ctrl+Click will not work with focus in other place. // ex: commit dialog with focus in commit message IdeEventQueue.getInstance().addPostprocessor(e -> { if (e instanceof KeyEvent) { onKeyEvent((KeyEvent)e); } return false; }, disposable); myWindow = ComponentUtil.getWindow(component); if (myWindow != null) { myWindow.addWindowFocusListener(myWindowFocusListener); } }