RunAnythingPopupUI (@NotNull AnActionEvent event) { RunAnythingPopupUI view = new RunAnythingPopupUI(event); view.setSearchFinishedHandler(() -> { if (isShown()) { myBalloon.cancel(); } }); view.addViewTypeListener(viewType -> { if (!isShown()) { return; } ApplicationManager.getApplication().invokeLater(() -> { Dimension minSize = view.getMinimumSize(); JBInsets.addTo(minSize, myBalloon.getContent().getInsets()); myBalloon.setMinimumSize(minSize); if (viewType == BigPopupUI.ViewType.SHORT) { myBalloonFullSize = myBalloon.getSize(); JBInsets.removeFrom(myBalloonFullSize, myBalloon.getContent().getInsets()); myBalloon.pack(false, true); } else { if (myBalloonFullSize == null) { myBalloonFullSize = view.getPreferredSize(); JBInsets.addTo(myBalloonFullSize, myBalloon.getContent().getInsets()); } myBalloonFullSize.height = Integer.max(myBalloonFullSize.height, minSize.height); myBalloonFullSize.width = Integer.max(myBalloonFullSize.width, minSize.width); myBalloon.setSize(myBalloonFullSize); } }); }); return view; }