compose-desktop-runtime-hardening
Installation
SKILL.md
The desktop entry point is an ordered list
Desktop. Most of what follows is only correct because of where it sits — treat the entry function as a sequence, not a bag of setup calls.
// adapted — order is load-bearing top to bottom
fun main(args: Array<String>) {
forceLinuxWmClass() // 5. the launcher's first statement — it builds the toolkit itself
runDesktopApp(args)
}
fun runDesktopApp(args: Array<String>) {
CrashDialog.install() // 1. catch everything from here on
java.awt.Desktop.isDesktopSupported() // 2. probe BEFORE any native loads