diff --git a/android/assets/ExtraImages/Icon.png b/android/assets/ExtraImages/Icon.png deleted file mode 100644 index 4fb1ff2407..0000000000 Binary files a/android/assets/ExtraImages/Icon.png and /dev/null differ diff --git a/android/assets/ExtraImages/Icons/Unciv128.png b/android/assets/ExtraImages/Icons/Unciv128.png new file mode 100644 index 0000000000..2862baf212 Binary files /dev/null and b/android/assets/ExtraImages/Icons/Unciv128.png differ diff --git a/android/assets/ExtraImages/Icons/Unciv32.png b/android/assets/ExtraImages/Icons/Unciv32.png new file mode 100644 index 0000000000..a7b8e83c3b Binary files /dev/null and b/android/assets/ExtraImages/Icons/Unciv32.png differ diff --git a/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt b/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt index 6c966607a1..86d8a96180 100644 --- a/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt +++ b/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt @@ -21,9 +21,14 @@ import com.unciv.utils.Display import com.unciv.utils.Log import org.lwjgl.system.Configuration import java.awt.GraphicsEnvironment +import java.awt.Image +import java.awt.Taskbar +import java.awt.Toolkit import java.io.File +import java.net.URL import kotlin.system.exitProcess + internal object DesktopLauncher { @JvmStatic @@ -77,11 +82,13 @@ internal object DesktopLauncher { ImagePacker.packImages(isRunFromJAR) 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.setHdpiMode(HdpiMode.Logical) config.setWindowSizeLimits(WindowState.minimumWidth, WindowState.minimumHeight, -1, -1) + // LibGDX not yet configured, use regular java class @@ -116,3 +123,15 @@ internal object DesktopLauncher { 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() + } +} \ No newline at end of file diff --git a/extraImages/Icons/Unciv.ico b/extraImages/Icons/Unciv.ico index d93e191b36..39f0621e00 100644 Binary files a/extraImages/Icons/Unciv.ico and b/extraImages/Icons/Unciv.ico differ