## Changing the state (maximized, minimized, fullscreen, size, position) of the window.
## Changing the state (maximized, minimized, fullscreen, size, position) of the window.
Some states of the native window are moved into a separate API class, `WindowState`. You can change its properties in callbacks or observe it in Composable's:
Some states of the native window are moved into a separate API class, `WindowState`. You can change its properties in callbacks or observe it in Composable's.
When some state is changed (window size or position), Composable function will be automatically recomposed.
```kotlin
```kotlin
import androidx.compose.foundation.clickable
import androidx.compose.foundation.clickable
@ -314,6 +315,51 @@ fun main() = application {
```
```
![](state.gif)
![](state.gif)
## Listening the state of the window
Reading the state in composition is useful when you need to update UI, but there are cases when you need to react to the state changes and send a value to another non-composable level of your application (write it to the database, for example):