Slackbot
01/16/2025, 9:31 AMMichael Paus
01/16/2025, 9:43 AMdarkmoon_uk
01/16/2025, 9:46 AM/
kgurgul
01/16/2025, 9:46 AM'System.getProperty("user.home")
)kgurgul
01/16/2025, 9:47 AMdarkmoon_uk
01/16/2025, 9:48 AMkgurgul
01/16/2025, 9:48 AMdarkmoon_uk
01/16/2025, 9:48 AMdarkmoon_uk
01/16/2025, 9:49 AMdarkmoon_uk
01/16/2025, 9:49 AMkgurgul
01/16/2025, 9:49 AMdarkmoon_uk
01/16/2025, 9:51 AMdarkmoon_uk
01/16/2025, 9:51 AMdarkmoon_uk
01/16/2025, 9:51 AMkgurgul
01/16/2025, 9:52 AMkgurgul
01/16/2025, 9:54 AMPreferenceDataStoreFactory.createWithPath(
corruptionHandler = ReplaceFileCorruptionHandler(
produceNewData = { emptyPreferences() },
),
produceFile = {
val configPath = getAppConfigPath("CPU-Info")
"$configPath/$USER_PREFERENCES_NAME.preferences_pb".toPath()
},
)
fun getAppConfigPath(appName: String): String {
val os = System.getProperty("os.name").lowercase()
val appNamePath = appName.toPath()
val configPath = when {
os.startsWith("windows") -> {
val dir = getLocalAppDataPath() ?: "/".toPath()
dir / appNamePath
}
os.contains("os x") -> {
getHomePath() / "Library/Preferences".toPath() / appNamePath
}
else -> {
val dir = getXdgConfigPath() ?: (getHomePath() / ".config".toPath())
dir / appNamePath
}
}
return configPath.toString()
}
private fun getHomePath() = System.getProperty("user.home").toPath()
private fun getXdgConfigPath() = System.getenv("XDG_CONFIG_HOME")?.toPath()
private fun getLocalAppDataPath() = System.getenv("LOCALAPPDATA")?.toPath()
kgurgul
01/16/2025, 10:05 AMkgurgul
01/16/2025, 10:10 AMkgurgul
01/16/2025, 10:10 AM