No description
Find a file
dependabot[bot] fb125f24c1
build(deps): bump gpui from 0852912 to a067c16 (#1000)
Bumps [gpui](https://github.com/zed-industries/zed) from `0852912` to
`a067c16`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a067c16c82"><code>a067c16</code></a>
windows: Use drop target helper (<a
href="https://redirect.github.com/zed-industries/zed/issues/33203">#33203</a>)</li>
<li><a
href="1a6c1b2159"><code>1a6c1b2</code></a>
windows: Fix window close animation (<a
href="https://redirect.github.com/zed-industries/zed/issues/33228">#33228</a>)</li>
<li><a
href="8718019b52"><code>8718019</code></a>
file finder: Ensure filter options keybinding is displayed (<a
href="https://redirect.github.com/zed-industries/zed/issues/33244">#33244</a>)</li>
<li><a
href="a32505fcc2"><code>a32505f</code></a>
agent: Fix token limit callout to show burn mode only for zed provider
(<a
href="https://redirect.github.com/zed-industries/zed/issues/33096">#33096</a>)</li>
<li><a
href="980917bb7c"><code>980917b</code></a>
agent: Preserve chat box text on 'New From Summary' (<a
href="https://redirect.github.com/zed-industries/zed/issues/33220">#33220</a>)</li>
<li><a
href="bd8471bb40"><code>bd8471b</code></a>
agent: Add soft-wrap to long terminal command JSON (<a
href="https://redirect.github.com/zed-industries/zed/issues/33188">#33188</a>)</li>
<li><a
href="16f1da1b7e"><code>16f1da1</code></a>
agent: Fix long previous user message double scroll (<a
href="https://redirect.github.com/zed-industries/zed/issues/33056">#33056</a>)</li>
<li><a
href="272fc672af"><code>272fc67</code></a>
windows: Dialog QoL improvements (<a
href="https://redirect.github.com/zed-industries/zed/issues/33241">#33241</a>)</li>
<li><a
href="e68b95c61b"><code>e68b95c</code></a>
agent: Ensure tool names are unique (<a
href="https://redirect.github.com/zed-industries/zed/issues/33237">#33237</a>)</li>
<li><a
href="28f56ad7ae"><code>28f56ad</code></a>
windows: Avoid setting the mouse cursor while the window is disabled (<a
href="https://redirect.github.com/zed-industries/zed/issues/33230">#33230</a>)</li>
<li>Additional commits viewable in <a
href="0852912fd6...a067c16c82">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-24 10:17:40 +08:00
.cargo windows: Set the default stack size to 8M on Windows. (#228) 2024-09-09 13:51:10 +08:00
.github wef: Added a new WebView component named "Wef" based on CEF. (#877) 2025-06-17 18:57:44 +08:00
assets inspector: Add Inspector. (#897) 2025-05-26 16:44:11 +08:00
crates title_bar: Add macOS double-click functionality to title bar (#996) (#1002) 2025-06-24 07:45:28 +08:00
script linux: Add libx11-xcb-dev to install script and build error. (#795) 2025-04-16 09:00:31 +08:00
.gitignore wef: Added a new WebView component named "Wef" based on CEF. (#877) 2025-06-17 18:57:44 +08:00
Cargo.lock build(deps): bump gpui from 0852912 to a067c16 (#1000) 2025-06-24 10:17:40 +08:00
Cargo.toml wef: Added a new WebView component named "Wef" based on CEF. (#877) 2025-06-17 18:57:44 +08:00
DEVELOPMENT.md Rename DEVELOPMENT to DEVELOPMENT.md (#894) 2025-05-26 13:35:33 +08:00
flake.lock chore: Add Nix/Flake development environment. (#837) 2025-05-08 21:54:58 +08:00
flake.nix chore: Add Nix/Flake development environment. (#837) 2025-05-08 21:54:58 +08:00
LICENSE-APACHE Update year of LICENSE-APACHE 2025-02-17 14:48:49 +08:00
README.md wef: Fix doc and warnings. (#972) 2025-06-17 20:10:34 +08:00

GPUI Component

UI components for building fantastic desktop applications using GPUI.

Features

  • Richness: 40+ cross-platform desktop UI components.
  • Native: Inspired by macOS and Windows controls, combined with shadcn/ui design for a modern experience.
  • Ease of Use: Stateless RenderOnce components, simple and user-friendly.
  • Customizable: Built-in Theme and ThemeColor, supporting multi-theme and variable-based configurations.
  • Versatile: Supports sizes like xs, sm, md, and lg.
  • Flexible Layout: Dock layout for panel arrangements, resizing, and freeform (Tiles) layouts.
  • High Performance: Virtualized Table and List components for smooth large-data rendering.
  • Content Rendering: Native support for Markdown and simple HTML.
  • Charting: Built-in charts for visualization your data.
  • Code Highlighting: Code Editor and Syntax highlighting.
  • Wef: (Experimental) Offscreen rendering webview based on CEF.

Showcase

Here is the first application: Longbridge Pro, built using GPUI Component.

Image

We built multi-theme support in the application. This feature is not included in GPUI Component itself, but is based on the Theme feature, so it's easy to implement.

Usage

GPUI and GPUI Component are still in development, so you need to add dependencies by git.

gpui = { git = "https://github.com/zed-industries/zed.git" }
gpui-component = { git = "https://github.com/longbridge/gpui-component.git" }

WebView

Still early and experimental; there are a lot of limitations.

GPUI Component has a WebView element based on Wry. This is an optional feature, which you can enable with a feature flag.

gpui-component = { git = "https://github.com/longbridge/gpui-component.git", features = ["webview"] }

More usage examples can be found in the story directory.

Icons

GPUI Component has an Icon element, but it does not include SVG files by default.

The example uses Lucide icons, but you can use any icons you like. Just name the SVG files as defined in IconName. You can add any icons you need to your project.

Development

We have a gallery of applications built with GPUI Component.

cargo run

More examples can be found in the examples directory. You can run them with cargo run --example <example_name>.

Check out DEVELOPMENT.md for more details.

License

Apache-2.0