Files
wIRC-desktop/build.gradle.kts
T
weishauptandClaude Opus 5.5 efad80e141 Add font picker (Segoe UI, Tahoma, Tw Cen MT, Nunito, Quicksand, Varela Round), bump to 0.1.10
Each channel window's settings panel gets a Font list, and wIRC main gets a Font
button that opens the same list for the server messages box. Every name is drawn
in its own font as a preview. The choice is saved per window in window_prefs.json
(fontId) and applies to the scrollback, user list, input box and title.

- Segoe UI, Tahoma and Tw Cen MT are Microsoft-licensed, so they aren't bundled:
  they load from the Windows font folders at runtime and are only listed when
  present (Tw Cen MT comes with Office).
- Nunito, Quicksand and Varela Round are SIL OFL fonts, bundled in
  resources/fonts with their license files.
- A missing or unloadable font falls back to Monospace.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:18:31 -04:00

50 lines
1.7 KiB
Kotlin

import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
kotlin("jvm") version "1.9.24"
id("org.jetbrains.compose") version "1.6.11"
}
group = "com.tpuahsiew.wirc"
version = "0.1.10"
// No project-level repositories{} block here: settings.gradle.kts sets
// dependencyResolutionManagement.repositoriesMode = FAIL_ON_PROJECT_REPOS and already
// declares google()/mavenCentral()/the compose dev repo there, so a duplicate block in
// this file would conflict with that policy and fail the build.
dependencies {
implementation(compose.desktop.currentOs)
implementation(compose.material3)
// Icons.Default.{Person,Settings} used by the settings-gear/user-list toggle in
// ChannelScreen live in material-icons-core, which materialIconsExtended pulls in -
// compose.material3 alone doesn't include it.
implementation(compose.materialIconsExtended)
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.1")
implementation("org.json:json:20240303")
}
kotlin {
jvmToolchain(17)
}
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
// Bundles installerResources/ (aliases.txt starter file, etc.) into the
// installed app directory, available at runtime via the
// compose.application.resources.dir system property.
appResourcesRootDir.set(project.file("installerResources"))
targetFormats(TargetFormat.Msi, TargetFormat.Exe)
packageName = "wIRC"
packageVersion = "0.1.10"
windows {
menuGroup = "wIRC"
upgradeUuid = "8f14e45f-ceea-4a5e-9c3b-5b1f0e8c2b7a"
iconFile.set(project.file("icon.ico"))
}
}
}
}