JComponent (@NotNull Disposable parentDisposable) { JPanel result = new NonOpaquePanel(new FlowLayout(FlowLayout.LEFT, 0, 0)); List<WelcomeScreenCustomization> customizations = WelcomeScreenCustomization.WELCOME_SCREEN_CUSTOMIZATION.getExtensionsIfPointIsRegistered(); List<AnAction> actions = customizations.stream().map(c -> c.createQuickAccessActions(parentDisposable)) .filter(Objects::nonNull) .flatMap(l -> l.stream()) .toList(); if (!actions.isEmpty()) { DefaultActionGroup group = new DefaultActionGroup(actions); ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.WELCOME_SCREEN_QUICK_PANEL, group, true); toolbar.setTargetComponent(result); toolbar.setMinimumButtonSize(new JBDimension(26, 26)); JComponent toolbarComponent = toolbar.getComponent(); toolbarComponent.setOpaque(false); toolbarComponent.setBorder(null); result.add(toolbarComponent); } // Remove this together with createQuickAccessComponent method customizations.stream() .map(c -> c.createQuickAccessComponent(parentDisposable)) .filter(Objects::nonNull) .forEach(result::add); if (ExperimentalUI.isNewUI()) { // ActionButtons have own empty insets(1, 2) result.setBorder(JBUI.Borders.empty(15, 14)); } else { result.setBorder(JBUI.Borders.empty(5, 10)); } return result; }