No description
Find a file
dependabot[bot] 9d467ac92b
build(deps): bump gpui from 04c0a54 to c56b5d8 (#819)
Bumps [gpui](https://github.com/huacnlee/zed) from `04c0a54` to
`c56b5d8`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c56b5d8099"><code>c56b5d8</code></a>
gpui: Fix VRAM leak caused by drawing large textures and resize
textures</li>
<li><a
href="3862d87e27"><code>3862d87</code></a>
gpui: Fix <code>window_handle</code> method on Linux.</li>
<li><a
href="7675ad9f8f"><code>7675ad9</code></a>
gpui: Fix <code>update_window</code> to <code>borrow_mut</code> will
crash on Windows.</li>
<li><a
href="5e31d86f1f"><code>5e31d86</code></a>
Fix panic in vim selection restoration (<a
href="https://redirect.github.com/huacnlee/zed/issues/29251">#29251</a>)</li>
<li><a
href="4a8f114528"><code>4a8f114</code></a>
Fix panic when collaborating with new multibuffers (<a
href="https://redirect.github.com/huacnlee/zed/issues/29245">#29245</a>)</li>
<li><a
href="ce1a674eba"><code>ce1a674</code></a>
eval: Fine-grained assertions (<a
href="https://redirect.github.com/huacnlee/zed/issues/29246">#29246</a>)</li>
<li><a
href="0d3fe474db"><code>0d3fe47</code></a>
editor: Use quantize score for code completions sort + Add code
completions t...</li>
<li><a
href="6a009b447a"><code>6a009b4</code></a>
debugger: Open debugger panel on session startup (<a
href="https://redirect.github.com/huacnlee/zed/issues/29186">#29186</a>)</li>
<li><a
href="75ab8ff9a1"><code>75ab8ff</code></a>
zlog: Add default filters (<a
href="https://redirect.github.com/huacnlee/zed/issues/29244">#29244</a>)</li>
<li><a
href="3705986fac"><code>3705986</code></a>
Adjust image cache APIs to enable ElementState based APIs (<a
href="https://redirect.github.com/huacnlee/zed/issues/29243">#29243</a>)</li>
<li>Additional commits viewable in <a
href="04c0a545a7...c56b5d8099">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-04-28 23:25:16 +08:00
.cargo windows: Set the default stack size to 8M on Windows. (#228) 2024-09-09 13:51:10 +08:00
.github chore: Add Windows CI (#789) 2025-04-14 20:46:32 +08:00
assets menu: Add external link icon to link menu item. (#734) 2025-03-24 22:30:29 +08:00
crates svg_img: Fix memory leak in SvgImg (#818) 2025-04-28 14:42:37 +08:00
script linux: Add libx11-xcb-dev to install script and build error. (#795) 2025-04-16 09:00:31 +08:00
.gitignore gallery: Redesign the gallery. (#797) 2025-04-17 17:12:48 +08:00
Cargo.lock build(deps): bump gpui from 04c0a54 to c56b5d8 (#819) 2025-04-28 23:25:16 +08:00
Cargo.toml svg_img: Use system fonts to support CJK characters (#750) 2025-03-27 14:44:04 +08:00
DEVELOPMENT doc: Update Contributing Guide. (#739) 2025-03-26 21:46:42 +08:00
LICENSE-APACHE Update year of LICENSE-APACHE 2025-02-17 14:48:49 +08:00
README.md chore: Update gallery download for Windows. (#804) 2025-04-18 00:10:08 +08:00
rust-toolchain.toml chore: Update rust-toolchain.toml to use Rust 1.86 2025-04-15 13:41:14 +08:00

GPUI Component

This is still an early stage of development, we may change API frequently. But the features is ok to use, you must keep tracking our changes.

UI components for building fantastic desktop application by using GPUI.

Features

  • Accordion
  • Alert
  • Badge
  • Breadcrumb
  • Button, Link
  • Checkbox, Radio, Switch
  • ColorPicker
  • DatePicker, DateRangePicker, Calendar
  • Dock, Tiles
  • Drawer
  • Dropdown
  • Icon
  • Label
  • List
  • Menu
  • Modal
  • Notification
  • Popover
  • Progress & Indicator
  • Resizable
  • Sidebar
  • Skeleton
  • Slider
  • Table
  • Tabs
  • TextInput, TextArea, OtpInput
  • TextView (Markdown, Simple HTML) to native rendering, syntax highlighting.
  • Theming
  • TitleBar
  • Toggle, ToggleGroup
  • Tooltip
  • WebView

Showcase

Here is the first application: Longbridge that is built by using GPUI Component.

It still under development, not published yet.

SCR-20250107-kagq SCR-20250107-kaky SCR-20250107-kapd SCR-20250107-kfvk

We build multi-themes support in application, this feature is not including in GPUI Component. It is based on Theme feature, so it easy to do.

Usage

GPUI and GPUI Component still in development, so we need add dependency by git.

And GPUI Component depends on gpui by special version (It keep updated to upstream) for including WebView support.

gpui = { git = "https://github.com/huacnlee/zed.git", branch = "webview" }
gpui-component = { git = "https://github.com/longbridge/gpui-component.git" }

WebView

Still early experimental, there have a lot of limitations.

GPUI Component have WebView element based on Wry, this is an optional feature, you can enable it by feature flag.

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

More usage can be found in story directory.

Icons

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

The example is using Lucide icons, but you can use any icons you like, just named the svg files like IconName defined the path name. You can add icons that you need in your project.

Demo

If you want to see the demo, here is a some demo applications.

Development

We have a gallery of applications built with GPUI Component.

cargo run

More examples can be found in examples directory, you can run them by cargo run --example <example_name>.

Checkout DEVELOPMENT to see more details.

License

Apache-2.0