fix: icons not displaying on some Linux systems

This commit is contained in:
hstyi
2025-08-12 14:42:40 +08:00
committed by hstyi
parent 2f932de295
commit 117a9ea692
3 changed files with 22 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ import org.apache.commons.lang3.SystemUtils
import org.apache.commons.lang3.math.NumberUtils
import org.slf4j.LoggerFactory
import org.tinylog.configuration.Configuration
import java.awt.Toolkit
import java.io.File
import kotlin.system.exitProcess
import kotlin.system.measureTimeMillis
@@ -35,10 +36,20 @@ class ApplicationInitializr {
// 检查是否单例
checkSingleton()
if (SystemUtils.IS_OS_MAC_OSX) {
if (SystemInfo.isMacOS) {
System.setProperty("apple.awt.application.name", Application.getName())
}
if (SystemInfo.isLinux) {
// https://stackoverflow.com/questions/10593075
runCatching {
val toolkit = Toolkit.getDefaultToolkit()
val awtAppClassNameField = toolkit.javaClass.getDeclaredField("awtAppClassName")
awtAppClassNameField.setAccessible(true)
awtAppClassNameField.set(toolkit, Application.getName())
}
}
// 启动
val runtime = measureTimeMillis { ApplicationRunner().run() }
val log = LoggerFactory.getLogger(javaClass)

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB