2026-01-23 17:07:47 +11:00
|
|
|
package moe.lava.neon
|
|
|
|
|
|
2026-01-31 14:55:36 +11:00
|
|
|
import androidx.compose.runtime.CompositionLocalProvider
|
|
|
|
|
import androidx.compose.ui.platform.LocalDensity
|
|
|
|
|
import androidx.compose.ui.unit.Density
|
2026-01-23 17:07:47 +11:00
|
|
|
import androidx.compose.ui.window.Window
|
|
|
|
|
import androidx.compose.ui.window.application
|
2026-01-23 19:05:25 +11:00
|
|
|
import moe.lava.neon.ui.App
|
2026-01-23 17:07:47 +11:00
|
|
|
|
2026-01-31 14:55:36 +11:00
|
|
|
// The UI is designed with touchscreens in mind; on desktop elements may look gigantic
|
|
|
|
|
// So scale them down a bit
|
|
|
|
|
const val scaleFactor = 0.75f
|
|
|
|
|
|
2026-01-23 17:07:47 +11:00
|
|
|
fun main() = application {
|
|
|
|
|
Window(
|
|
|
|
|
onCloseRequest = ::exitApplication,
|
|
|
|
|
title = "Neon",
|
|
|
|
|
) {
|
2026-01-31 14:55:36 +11:00
|
|
|
val systemScale = System.getenv("GDK_SCALE")?.toFloatOrNull() ?: 1f
|
|
|
|
|
val systemDpiScale = System.getenv("GDK_DPI_SCALE")?.toFloatOrNull() ?: 1f
|
|
|
|
|
val density = Density(
|
|
|
|
|
density = LocalDensity.current.density * systemScale * scaleFactor,
|
|
|
|
|
fontScale = systemDpiScale
|
|
|
|
|
)
|
|
|
|
|
CompositionLocalProvider(LocalDensity provides density) {
|
|
|
|
|
App()
|
|
|
|
|
}
|
2026-01-23 17:07:47 +11:00
|
|
|
}
|
2026-01-23 19:05:25 +11:00
|
|
|
}
|