# Redo linux state again \(\#10452\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/9d96ae6e780a43113adb592889c7d0644e7fa6ab)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 9d96ae6e780a43113adb592889c7d0644e7fa6ab

Requested commit: 9d96ae6e780a43113adb592889c7d0644e7fa6ab

Commit: 9d96ae6e780a43113adb592889c7d0644e7fa6ab

Tree: 8b352f27e540b348eef5f17f23c9c2952682e584

Author: Mikayla Maki

Committer: GitHub

## Message

```
Redo linux state again (#10452)

With the recent Linux rewrite, I attempted to simplify the number of
wrapper structs involved in the Linux code, following the macOS code as
an example. Unfortunately, I missed a vital component: pointers to the
platform state, held by platform data structures. As we hold all of the
platform data structures on Linux, this PR reintroduces a wrapper around
the internal state of both the platform and the window. This allows us
to close and drop windows correctly.

This PR also fixes a performance problem introduced by:
https://github.com/zed-industries/zed/pull/10343, where each configure
request would add a new frame callback quickly saturating the main
thread and slowing everything down.

Release Notes:
- N/A
```

## Parents

- [8d7f5eab7907513c429b025768a29727cb5555e3](https://git.cafe/gitcafe/zed/commit/8d7f5eab7907513c429b025768a29727cb5555e3?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/9d96ae6e780a43113adb592889c7d0644e7fa6ab?format=markdown)
