[package]
edition = "2024"
name = "fc-gpui"
version = "0.13.0"
authors = ["FC GPUI Contributors"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPU-accelerated UI framework with system tray, global hotkeys, notifications, and daemon mode support (fork of Zed's GPUI)"
homepage = "https://github.com/freefcw/fc-gpui"
readme = "README.md"
keywords = [
"gui",
"desktop",
"tray",
"gpu",
"daemon",
]
categories = ["gui"]
license = "Apache-2.0"
repository = "https://github.com/freefcw/fc-gpui"
resolver = "2"
[package.metadata.gpui-macros]
crate = "gpui"
[features]
accessibility = [
"gpui_core/accessibility",
"gpui_platform/accessibility",
]
default = [
"accessibility",
"font-kit",
"keyring",
"wayland",
"x11",
"windows-manifest",
"image-default-formats",
"image-rayon",
]
font-kit = [
"gpui_core/font-kit",
"gpui_platform/font-kit",
]
image-default-formats = [
"gpui_core/image-default-formats",
"gpui_platform/image-default-formats",
]
image-format-avif = [
"gpui_core/image-format-avif",
"gpui_platform/image-format-avif",
]
image-format-bmp = [
"gpui_core/image-format-bmp",
"gpui_platform/image-format-bmp",
]
image-format-dds = [
"gpui_core/image-format-dds",
"gpui_platform/image-format-dds",
]
image-format-exr = [
"gpui_core/image-format-exr",
"gpui_platform/image-format-exr",
]
image-format-farbfeld = [
"gpui_core/image-format-farbfeld",
"gpui_platform/image-format-farbfeld",
]
image-format-gif = [
"gpui_core/image-format-gif",
"gpui_platform/image-format-gif",
]
image-format-hdr = [
"gpui_core/image-format-hdr",
"gpui_platform/image-format-hdr",
]
image-format-ico = [
"gpui_core/image-format-ico",
"gpui_platform/image-format-ico",
]
image-format-jpeg = [
"gpui_core/image-format-jpeg",
"gpui_platform/image-format-jpeg",
]
image-format-png = [
"gpui_core/image-format-png",
"gpui_platform/image-format-png",
]
image-format-pnm = [
"gpui_core/image-format-pnm",
"gpui_platform/image-format-pnm",
]
image-format-qoi = [
"gpui_core/image-format-qoi",
"gpui_platform/image-format-qoi",
]
image-format-tga = [
"gpui_core/image-format-tga",
"gpui_platform/image-format-tga",
]
image-format-tiff = [
"gpui_core/image-format-tiff",
"gpui_platform/image-format-tiff",
]
image-format-webp = [
"gpui_core/image-format-webp",
"gpui_platform/image-format-webp",
]
image-rayon = [
"gpui_core/image-rayon",
"gpui_platform/image-rayon",
]
input-latency-histogram = [
"gpui_core/input-latency-histogram",
"gpui_platform/input-latency-histogram",
]
inspector = [
"gpui_core/inspector",
"gpui_platform/inspector",
]
keyring = ["gpui_platform/keyring"]
leak-detection = [
"gpui_core/leak-detection",
"gpui_platform/leak-detection",
]
runtime_shaders = [
"gpui_core/runtime_shaders",
"gpui_platform/runtime_shaders",
]
screen-capture = [
"gpui_core/screen-capture",
"gpui_platform/screen-capture",
]
test-support = [
"gpui_core/test-support",
"gpui_platform/test-support",
]
wayland = [
"gpui_core/wayland",
"gpui_platform/wayland",
]
wgpu = ["gpui_platform/wgpu"]
windows-manifest = [
"gpui_core/windows-manifest",
"gpui_platform/windows-manifest",
]
x11 = [
"gpui_core/x11",
"gpui_platform/x11",
]
[lib]
name = "gpui"
path = "src/gpui.rs"
doctest = false
[[example]]
name = "a11y"
path = "examples/a11y.rs"
[[example]]
name = "animation"
path = "examples/animation.rs"
[[example]]
name = "daemon_app"
path = "examples/daemon_app.rs"
[[example]]
name = "data_table"
path = "examples/data_table.rs"
[[example]]
name = "drag_drop"
path = "examples/drag_drop.rs"
[[example]]
name = "gif_viewer"
path = "examples/gif_viewer.rs"
[[example]]
name = "gradient"
path = "examples/gradient.rs"
[[example]]
name = "grid_layout"
path = "examples/grid_layout.rs"
[[example]]
name = "hello_world"
path = "examples/hello_world.rs"
[[example]]
name = "image"
path = "examples/image/image.rs"
[[example]]
name = "image_gallery"
path = "examples/image_gallery.rs"
[[example]]
name = "image_loading"
path = "examples/image_loading.rs"
[[example]]
name = "input"
path = "examples/input.rs"
[[example]]
name = "layer_shell"
path = "examples/layer_shell.rs"
[[example]]
name = "linux_rendering_probe"
path = "examples/linux_rendering_probe.rs"
[[example]]
name = "on_window_close_quit"
path = "examples/on_window_close_quit.rs"
[[example]]
name = "opacity"
path = "examples/opacity.rs"
[[example]]
name = "ownership_post"
path = "examples/ownership_post.rs"
[[example]]
name = "painting"
path = "examples/painting.rs"
[[example]]
name = "paths_bench"
path = "examples/paths_bench.rs"
[[example]]
name = "pattern"
path = "examples/pattern.rs"
[[example]]
name = "perf_bench"
path = "examples/perf_bench.rs"
[[example]]
name = "platform_features"
path = "examples/platform_features.rs"
[[example]]
name = "scrollable"
path = "examples/scrollable.rs"
[[example]]
name = "set_menus"
path = "examples/set_menus.rs"
[[example]]
name = "shadow"
path = "examples/shadow.rs"
[[example]]
name = "svg"
path = "examples/svg/svg.rs"
[[example]]
name = "tab_stop"
path = "examples/tab_stop.rs"
[[example]]
name = "text"
path = "examples/text.rs"
[[example]]
name = "text_layout"
path = "examples/text_layout.rs"
[[example]]
name = "text_wrapper"
path = "examples/text_wrapper.rs"
[[example]]
name = "tray_test"
path = "examples/tray_test.rs"
[[example]]
name = "tree"
path = "examples/tree.rs"
[[example]]
name = "uniform_list"
path = "examples/uniform_list.rs"
[[example]]
name = "window"
path = "examples/window.rs"
[[example]]
name = "window_positioning"
path = "examples/window_positioning.rs"
[[example]]
name = "window_shadow"
path = "examples/window_shadow.rs"
[[test]]
name = "action_macros"
path = "tests/action_macros.rs"
[[test]]
name = "application_compat"
path = "tests/application_compat.rs"
[[test]]
name = "real_visual_smoke"
path = "tests/real_visual_smoke.rs"
harness = false
required-features = ["test-support"]
[[test]]
name = "test_macro_glob_import"
path = "tests/test_macro_glob_import.rs"
required-features = ["test-support"]
[dependencies.gpui_core]
version = "0.13.0"
default-features = false
package = "fc-gpui-core"
[dependencies.gpui_platform]
version = "0.13.0"
default-features = false
package = "fc-gpui-platform"
[dependencies.log]
version = "0.4.16"
[dev-dependencies.anyhow]
version = "1.0.86"
[dev-dependencies.collections]
version = "0.6.0"
features = ["test-support"]
package = "fc-gpui-collections"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.gpui_macros]
version = "0.13.0"
package = "fc-gpui-macros"
[dev-dependencies.http_client]
version = "0.6.0"
features = ["test-support"]
package = "fc-gpui-http-client"
[dev-dependencies.lyon]
version = "1.0"
features = ["extra"]
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.reqwest]
version = "0.12.28"
features = [
"rustls-tls-native-roots",
"stream",
]
default-features = false
[dev-dependencies.schemars]
version = "1.0"
features = [
"indexmap2",
"smallvec1",
]
[dev-dependencies.serde]
version = "1.0.221"
features = [
"derive",
"rc",
]
[dev-dependencies.serde_json]
version = "1.0.144"
features = [
"preserve_order",
"raw_value",
]
[dev-dependencies.smallvec]
version = "1.6"
features = [
"union",
"serde",
]
[dev-dependencies.unicode-segmentation]
version = "1.10"
[lints.clippy]
dbg_macro = "deny"
declare_interior_mutable_const = "deny"
disallowed_methods = "deny"
large_enum_variant = "allow"
let_underscore_future = "allow"
nonminimal_bool = "allow"
redundant_clone = "deny"
single_range_in_vec_init = "allow"
todo = "deny"
too_many_arguments = "allow"
type_complexity = "allow"
[lints.clippy.style]
level = "allow"
priority = -1
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0