Jetpack compose для рабочего стола: запускать приложение в фоновом режиме?
Я новичок в создании реактивного ранца. Я провел много исследований по этой теме, но не нашел ничего полезного. Я хочу добиться того, чтобы, если я закрою окно, мое приложение останется в фоновом режиме и его можно будет снова открыть из панели задач. Мне удалось создать лоток, но когда я закрываю окно приложения, оно закрывает все приложение. Как я могу этого добиться?
Еще я хочу слушать глобальные сочетания клавиш. Как и в электроне, я могу определить сочетание клавиш, например ctr+space, и оно будет делать то, что я хочу.
Это приложение будет только в Windows и MacOS. Меня сейчас не волнует андроид
1 ответ
Мне удалось в этом разобраться. Основной функцией должно быть приложение, а не окно.
@OptIn(ExperimentalComposeUiApi::class)
fun main() = application {
}
И если приложение содержит и окно, и лоток, оно продолжит работу в фоновом режиме и не закроется после закрытия окна.
@OptIn(ExperimentalComposeUiApi::class)
fun main() = application {
Tray(
icon = BufferedImage(24, 24, 1),
menu = {
Item(
"Exit",
onClick = { exitProcess(1) }
)
}
)
Window{
Text("Hello World")
}
}