diff --git a/platform/platform-api/src/com/intellij/ui/wayland/WaylandUtil.kt b/platform/platform-api/src/com/intellij/ui/wayland/WaylandUtil.kt index 7ca3c2a04ce3..1f4a5ceca113 100644 --- a/platform/platform-api/src/com/intellij/ui/wayland/WaylandUtil.kt +++ b/platform/platform-api/src/com/intellij/ui/wayland/WaylandUtil.kt @@ -5,6 +5,7 @@ import com.intellij.openapi.diagnostic.debug import com.intellij.openapi.diagnostic.fileLogger import com.intellij.openapi.util.registry.Registry import com.intellij.openapi.wm.IdeFrame +import com.intellij.ui.ClientProperty import com.intellij.ui.ComponentUtil import com.intellij.ui.tabs.JBTabsEx import com.intellij.util.ui.JBUI @@ -200,4 +201,14 @@ private fun fitValue(location: Int, width: Int, start1: Int, end1: Int, start2: } } +private const val POPUP_POSITION_UNCONSTRAINED = "wlawt.popup_position_unconstrained" + +var Window.isUnconstrainedPopupPositioning: Boolean + @ApiStatus.Internal + get() = ClientProperty.isTrue(this, POPUP_POSITION_UNCONSTRAINED) + @ApiStatus.Internal + set(value) { + ClientProperty.put(this, POPUP_POSITION_UNCONSTRAINED, true.takeIf { value }) + } + private val LOG = fileLogger() diff --git a/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java b/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java index 779754575bce..18e14e786a73 100644 --- a/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java +++ b/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java @@ -16,7 +16,6 @@ import com.intellij.util.ObjectUtils; import com.intellij.util.SingleEdtTaskScheduler; import com.intellij.util.ui.MouseEventAdapter; import com.intellij.util.ui.MouseEventHandler; -import com.intellij.util.ui.StartupUiUtil; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.accessibility.ScreenReader; import org.jetbrains.annotations.ApiStatus; @@ -120,13 +119,7 @@ public abstract class AbstractExpandableItemsHandler