Update .ico files, set taskbar icon icon for MacOS

This commit is contained in:
yairm210 2025-02-26 17:16:00 +02:00
parent 86b6fbf7bc
commit d03414e85e
5 changed files with 20 additions and 1 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -21,9 +21,14 @@ import com.unciv.utils.Display
import com.unciv.utils.Log import com.unciv.utils.Log
import org.lwjgl.system.Configuration import org.lwjgl.system.Configuration
import java.awt.GraphicsEnvironment import java.awt.GraphicsEnvironment
import java.awt.Image
import java.awt.Taskbar
import java.awt.Toolkit
import java.io.File import java.io.File
import java.net.URL
import kotlin.system.exitProcess import kotlin.system.exitProcess
internal object DesktopLauncher { internal object DesktopLauncher {
@JvmStatic @JvmStatic
@ -77,11 +82,13 @@ internal object DesktopLauncher {
ImagePacker.packImages(isRunFromJAR) ImagePacker.packImages(isRunFromJAR)
val config = Lwjgl3ApplicationConfiguration() val config = Lwjgl3ApplicationConfiguration()
config.setWindowIcon("ExtraImages/Icon.png") config.setWindowIcon("ExtraImages/Icons/Unciv32.png", "ExtraImages/Icons/Unciv128.png")
if (SharedLibraryLoader.isMac) updateDockIconForMacOs("ExtraImages/Icons/Unciv128.png")
config.setTitle("Unciv") config.setTitle("Unciv")
config.setHdpiMode(HdpiMode.Logical) config.setHdpiMode(HdpiMode.Logical)
config.setWindowSizeLimits(WindowState.minimumWidth, WindowState.minimumHeight, -1, -1) config.setWindowSizeLimits(WindowState.minimumWidth, WindowState.minimumHeight, -1, -1)
// LibGDX not yet configured, use regular java class // LibGDX not yet configured, use regular java class
@ -116,3 +123,15 @@ internal object DesktopLauncher {
exitProcess(0) exitProcess(0)
} }
} }
private fun updateDockIconForMacOs(fileName: String) {
try {
val defaultToolkit: Toolkit = Toolkit.getDefaultToolkit()
val imageResource: URL = FileHandle(fileName).file().toURI().toURL()
val image: Image = defaultToolkit.getImage(imageResource)
val taskbar = Taskbar.getTaskbar()
taskbar.iconImage = image
} catch (throwable: Throwable) {
throwable.printStackTrace()
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 453 KiB