mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 03:15:35 -04:00
parent
a2a863ae53
commit
843b29ab9a
@ -53,6 +53,7 @@ import de.bixilon.minosoft.terminal.AutoConnect
|
||||
import de.bixilon.minosoft.terminal.CommandLineArguments
|
||||
import de.bixilon.minosoft.terminal.RunConfiguration
|
||||
import de.bixilon.minosoft.terminal.cli.CLI
|
||||
import de.bixilon.minosoft.util.DesktopUtil
|
||||
import de.bixilon.minosoft.util.KUtil
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
@ -111,6 +112,10 @@ object Minosoft {
|
||||
|
||||
Eros::class.java.forceInit()
|
||||
}
|
||||
if (RunConfiguration.DISABLE_EROS && !RunConfiguration.DISABLE_RENDERING) {
|
||||
// eros is disabled, but rendering not, force initialize the desktop, otherwise eros will do so
|
||||
DefaultThreadPool += { DesktopUtil.initialize() }
|
||||
}
|
||||
taskWorker += WorkerTask(identifier = BootTasks.YGGDRASIL, executor = { YggdrasilUtil.load() })
|
||||
|
||||
taskWorker += WorkerTask(identifier = BootTasks.ASSETS_OVERRIDE, executor = { OVERRIDE_ASSETS_MANAGER.load(it) })
|
||||
|
@ -20,6 +20,7 @@ import de.bixilon.kutil.latch.CountUpAndDownLatch
|
||||
import de.bixilon.kutil.shutdown.ShutdownManager
|
||||
import de.bixilon.minosoft.Minosoft
|
||||
import de.bixilon.minosoft.gui.eros.crash.ErosCrashReport.Companion.crash
|
||||
import de.bixilon.minosoft.util.DesktopUtil
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
@ -37,8 +38,9 @@ class JavaFXInitializer internal constructor() : Application() {
|
||||
JavaFXUtil.JAVA_FX_THREAD = Thread.currentThread()
|
||||
JavaFXUtil.HOST_SERVICES = hostServices
|
||||
val worker = UnconditionalWorker()
|
||||
worker += { JavaFXUtil.MINOSOFT_LOGO = Image(Minosoft.MINOSOFT_ASSETS_MANAGER["minosoft:textures/icons/window_icon.png".toResourceLocation()]) }
|
||||
worker += { JavaFXUtil.MINOSOFT_LOGO = Image(Minosoft.MINOSOFT_ASSETS_MANAGER[DesktopUtil.ICON]) }
|
||||
worker += { catchAll { JavaFXUtil.BIXILON_LOGO = SvgLoader().loadSvg(Minosoft.MINOSOFT_ASSETS_MANAGER["minosoft:textures/icons/bixilon_logo.svg".toResourceLocation()]) } }
|
||||
worker += { DesktopUtil.initialize() }
|
||||
worker.work(LATCH)
|
||||
|
||||
|
||||
|
@ -13,16 +13,23 @@
|
||||
|
||||
package de.bixilon.minosoft.util
|
||||
|
||||
import de.bixilon.minosoft.Minosoft
|
||||
import de.bixilon.minosoft.data.registries.identified.Namespaces.minosoft
|
||||
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil
|
||||
import de.bixilon.minosoft.gui.rendering.textures.TextureUtil.texture
|
||||
import de.bixilon.minosoft.terminal.RunConfiguration
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||
import java.awt.Taskbar
|
||||
import java.awt.Toolkit
|
||||
import java.io.File
|
||||
import java.net.URL
|
||||
import java.nio.file.Path
|
||||
|
||||
|
||||
object DesktopUtil {
|
||||
val ICON = minosoft("icons/window_icon").texture()
|
||||
|
||||
fun openURL(url: URL) {
|
||||
if (RunConfiguration.DISABLE_EROS) {
|
||||
@ -57,4 +64,21 @@ object DesktopUtil {
|
||||
exception.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
private fun Taskbar.setDockIcon() {
|
||||
iconImage = Toolkit.getDefaultToolkit().createImage(Minosoft.MINOSOFT_ASSETS_MANAGER[ICON].readAllBytes())
|
||||
}
|
||||
|
||||
private fun Taskbar.initialize() {
|
||||
if (isSupported(Taskbar.Feature.ICON_IMAGE)) {
|
||||
setDockIcon()
|
||||
}
|
||||
}
|
||||
|
||||
fun initialize() {
|
||||
System.setProperty("java.awt.headless", true.toString())
|
||||
if (Taskbar.isTaskbarSupported()) {
|
||||
Taskbar.getTaskbar().initialize()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user