Add a System tray icon for JUI

This commit is contained in:
Syer10
2021-12-04 21:42:19 -05:00
parent ddee07dadc
commit aee287ec31
2 changed files with 13 additions and 0 deletions

View File

@@ -103,6 +103,7 @@ sealed class ServerHostPreference<T : Any> {
class SystemTrayEnabled(preferenceStore: PreferenceStore) : BooleanServerHostPreference(
preferenceStore,
"systemTrayEnabled",
false,
true
)

View File

@@ -21,8 +21,10 @@ import androidx.compose.ui.input.key.KeyEventType
import androidx.compose.ui.input.key.key
import androidx.compose.ui.input.key.type
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.window.Tray
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.awaitApplication
import androidx.compose.ui.window.rememberTrayState
import androidx.compose.ui.window.rememberWindowState
import ca.gosyer.build.BuildConfig
import ca.gosyer.core.logging.initializeLogger
@@ -153,6 +155,16 @@ suspend fun main() {
val icon = painterResource("icon.png")
val trayState = rememberTrayState()
Tray(
icon,
trayState,
tooltip = BuildConfig.NAME,
menu = {
Item(resources.getStringA("action_close"), onClick = ::exitApplication)
}
)
Window(
onCloseRequest = {
if (confirmExit.value) {