ursus
10/15/2025, 11:57 PMplugins {
id "org.jetbrains.kotlin.jvm" version "2.2.20"
id "org.jetbrains.kotlin.plugin.compose" version "2.2.20"
id "org.jetbrains.compose" version "1.9.1"
}
//
//
//
fun main(args: Array<String>) = singleWindowApplication {
AppTheme {
...
}
}
@Composable
fun AppTheme(content: @Composable () -> Unit) {
MaterialTheme(
colors = if (isSystemInDarkTheme()) { <-----------------------
darkColors()
} else {
lightColors()
},
) {
Surface(color = MaterialTheme.colors.background, content = content)
}
}
Why is the compose desktop app not reacting to dark mode changes? I'm testing on mac os and windows, and when I toggle the system setting it does nothing.
After restart it picks up the current setting but not during runtime.
Is this known?dhia chemingui
10/16/2025, 3:56 PMval provider = TypefaceFontProviderWithFallback()
val data = Data.makeFromBytes(Res.readBytes("font/cairomedium.ttf"))
val typeface = provider.makeFromData(data)jdemeulenaere
10/18/2025, 7:50 PMjdemeulenaere
10/20/2025, 5:35 PMconfigurations.resolutionStrategy.eachDependency { ... } block to automatically set the versions of my 3P dependencies, and for some reason this doesn't work well in the IDE when syncing my project (e.g. it prints the error Could not find org.jetbrains.compose.runtime:runtime:. and the references don't work) but the code compiles fine with Gradle. Any idea what could be causing this by any chance?Konstantin Kostov Gerry
10/21/2025, 12:45 PMpackageName per platform? I've been trying various combinations but it leads to strange results. For example, setting nativeDistributions.packageName and nativeDistributions.macOS.packageName results in nativeDistributions.packageName being used. If I also set nativeDistributions.windows.packageName the outcome is that the package name for windows is used for all platforms e.g.:
compose.desktop {
application {
mainClass = "org.example.project.MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "org.example.project"
packageVersion = "1.0.0"
macOS {
packageName = "Foo"
}
windows {
packageName = "Bar"
}
}
}
}ursus
10/22/2025, 2:07 PMfun main(args: Array<String>) {
singleWindowApplication(
title = "Git Gooey",
state = WindowState(size = DpSize(width = 1600.dp, 960.dp))
) {
App()
}
}
@Composable
private fun App() {
AppTheme {
Surface(color = MaterialTheme.colorScheme.background) {
MainPanes()
}
}
}
Code I believe is nothing special.
Any way around that?אליהו הדס
10/22/2025, 9:37 PMS.
10/26/2025, 11:29 AMWindowDraggableArea , is it possible to get the Windows window management tools (see screenshot) when moving the app to the top of my screen?אליהו הדס
10/26/2025, 12:32 PMCherrio LLC
10/26/2025, 4:23 PMursus
10/28/2025, 7:27 PMursus
10/29/2025, 2:31 AMursus
10/29/2025, 5:25 PMאליהו הדס
10/30/2025, 7:24 AMNguyen Duc Tuan Minh
10/30/2025, 8:03 AMbj0
10/30/2025, 11:57 PMTooltipArea over a button it completely blocks the button and it becomes unusable. My searching showed a comment from 3 years ago where the only suggestion was to use a custom made alternative. Is the built in one still not really usable?bj0
10/31/2025, 12:38 AMKonstantin Kostov Gerry
11/03/2025, 9:16 AMStefan Oltmann
11/05/2025, 1:37 PMTrejkaz
11/06/2025, 8:12 AMJohn O'Reilly
11/08/2025, 11:38 AMjava.lang.NoSuchMethodError: 'boolean androidx.compose.runtime.Composer.shouldExecute(boolean, int)'Zoff
11/09/2025, 9:38 AMSargun Vohra
11/10/2025, 3:50 AMremoveNotify), I remove the metal layer in obj-c++ like so:
CAMetalLayer* layer = (__bridge CAMetalLayer *)metalLayer.get();
[layer removeFromSuperlayer];
But an image of the map remains in the Compose UI, at least until something else is rendered there, or a resize forces the app to repaint. I already tried:
• before removing the layer, [layer.superLayer needsDisplay]
• in my canvas’s removeNotify: parent.repaint() and SwingUtilities.getWindowAncestor(this).repaint() and SwingUtilities.getWindowAncestor(this).revalidate()
---
Just before hitting send, I tried this hack:
// HACK: Force a repaint by resizing the window slightly to avoid a ghost map on macoOS.
val root = SwingUtilities.getWindowAncestor(this)
val oWidth = root.width
val oHeight = root.height
root.size = Dimension(oWidth + 1, oHeight + 1)
root.size = Dimension(oWidth, oHeight)
And well, it works, but it feels wrong. Is there a better way?Meet
11/11/2025, 5:49 AM./gradlew packageDistributionForCurrentOS
it successfully generates a .deb package for amd64 under
/artifacts/build-mac/binaries/main/deb/dev-analyser_1.0.0-1_amd64.deb.
But now I also want to create a build for Intel/ARM64 Mac — for example, an .arm64.dmg package.
Is it possible to generate an ARM64 .dmg file using Compose Multiplatform?
Or is it only possible to build for the architecture of the current machine?
Or any other way using ci/cd?Meet
11/12/2025, 5:38 AMJustin Tullgren
11/12/2025, 10:48 PMBenni H.
11/13/2025, 1:49 PMwindow.background = java.awt.Color(....)אליהו הדס
11/15/2025, 6:07 PMNguyen Duc Tuan Minh
11/17/2025, 2:27 AMSlackbot
11/17/2025, 9:56 AM