Skip to content

Commit 14e6dfc

Browse files
committed
Refactor KDE detection logic in TrayApp
- Introduced `isKde` flag to reuse KDE detection result. - Simplified KDE-specific dialog positioning with `SideEffect`.
1 parent 0b9795b commit 14e6dfc

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

  • src/commonMain/kotlin/com/kdroid/composetray/tray/api

src/commonMain/kotlin/com/kdroid/composetray/tray/api/TrayApp.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,7 @@ private fun ApplicationScope.TrayAppImplLinux(
707707
menu: (TrayMenuBuilder.() -> Unit)?,
708708
content: @Composable DialogWindowScope.() -> Unit,
709709
) {
710+
val isKde = detectLinuxDesktopEnvironment() == LinuxDesktopEnvironment.KDE
710711
val trayAppState = state ?: rememberTrayAppState(
711712
initialWindowSize = windowSize ?: DpSize(300.dp, 200.dp),
712713
initiallyVisible = visibleOnStart,
@@ -741,7 +742,7 @@ private fun ApplicationScope.TrayAppImplLinux(
741742
}
742743

743744
val dialogState = rememberDialogState(position = initialPositionForFirstFrame, size = currentWindowSize)
744-
if (detectLinuxDesktopEnvironment() == LinuxDesktopEnvironment.KDE) SideEffect { dialogState.position = initialPositionForFirstFrame }
745+
if (isKde) SideEffect { dialogState.position = initialPositionForFirstFrame }
745746
LaunchedEffect(currentWindowSize) { dialogState.size = currentWindowSize }
746747

747748
// Visibility controller for exit-finish detection; content will NOT be disposed.

0 commit comments

Comments
 (0)