[package]
edition = "2024"
name = "fc-gpui-core"
version = "0.11.2"
authors = ["FC GPUI Contributors"]
build = "build.rs"
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"
[features]
accessibility = []
bench = ["test-support"]
default = [
"accessibility",
"font-kit",
"wayland",
"x11",
"windows-manifest",
"image-default-formats",
"image-rayon",
]
font-kit = []
image-default-formats = [
"image-format-gif",
"image-format-jpeg",
"image-format-png",
"image-format-webp",
]
image-format-avif = ["image/avif"]
image-format-bmp = ["image/bmp"]
image-format-dds = ["image/dds"]
image-format-exr = ["image/exr"]
image-format-farbfeld = ["image/ff"]
image-format-gif = ["image/gif"]
image-format-hdr = ["image/hdr"]
image-format-ico = ["image/ico"]
image-format-jpeg = ["image/jpeg"]
image-format-png = ["image/png"]
image-format-pnm = ["image/pnm"]
image-format-qoi = ["image/qoi"]
image-format-tga = ["image/tga"]
image-format-tiff = ["image/tiff"]
image-format-webp = ["image/webp"]
image-rayon = ["image/rayon"]
input-latency-histogram = ["dep:hdrhistogram"]
inspector = ["gpui_macros/inspector"]
leak-detection = []
runtime_shaders = []
screen-capture = [
"dep:scap",
"dep:windows-capture",
]
test-support = [
"collections/test-support",
"dep:postage",
"dep:rand",
"util/test-support",
"http_client/test-support",
"wayland",
"x11",
]
wayland = ["dep:bitflags"]
windows-manifest = []
x11 = ["scap?/x11"]
[lib]
name = "gpui_core"
path = "src/gpui.rs"
doctest = false
[[bench]]
name = "async_tasks"
path = "benches/async_tasks.rs"
harness = false
required-features = ["bench"]
[dependencies.accesskit]
version = "0.25.1"
[dependencies.anyhow]
version = "1.0.86"
[dependencies.async-channel]
version = "2.5.0"
[dependencies.async-task]
version = "4.7"
[dependencies.collections]
version = "0.6.0"
package = "fc-gpui-collections"
[dependencies.ctor]
version = "1.0.13"
[dependencies.derive_more]
version = "2.1.1"
features = [
"add",
"add_assign",
"deref",
"deref_mut",
"from_str",
"mul",
"mul_assign",
"not",
]
[dependencies.etagere]
version = "0.3"
[dependencies.futures]
version = "0.3"
[dependencies.gpui_macros]
version = "0.11.2"
package = "fc-gpui-macros"
[dependencies.hdrhistogram]
version = "7"
optional = true
[dependencies.http_client]
version = "0.5.3"
package = "fc-gpui-http-client"
[dependencies.image]
version = "0.25.1"
default-features = false
[dependencies.inventory]
version = "0.3.19"
[dependencies.itertools]
version = "0.15.0"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4.16"
features = [
"kv_unstable_serde",
"serde",
]
[dependencies.lyon]
version = "1.0"
[dependencies.parking]
version = "2.0.0"
[dependencies.parking_lot]
version = "0.12.1"
[dependencies.postage]
version = "0.5"
features = ["futures-traits"]
optional = true
[dependencies.profiling]
version = "1"
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.raw-window-handle]
version = "0.6"
[dependencies.refineable]
version = "0.6.0"
package = "fc-gpui-refineable"
[dependencies.regex]
version = "1.11.1"
[dependencies.resvg]
version = "0.48"
features = [
"text",
"system-fonts",
"memmap-fonts",
"raster-images",
]
default-features = false
[dependencies.schemars]
version = "1.0"
features = [
"indexmap2",
"smallvec1",
]
[dependencies.seahash]
version = "4.1"
[dependencies.semantic_version]
version = "0.6.0"
package = "fc-gpui-semantic-version"
[dependencies.serde]
version = "1.0.221"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.144"
features = [
"preserve_order",
"raw_value",
]
[dependencies.slotmap]
version = "1.0.6"
[dependencies.smallvec]
version = "1.6"
features = [
"union",
"serde",
]
[dependencies.smol]
version = "2.0"
[dependencies.smol_str]
version = "0.3"
[dependencies.stacksafe]
version = "1.0"
[dependencies.strum]
version = "0.28.0"
features = ["derive"]
[dependencies.sum_tree]
version = "0.6.0"
package = "fc-gpui-sum-tree"
[dependencies.taffy]
version = "=0.14.0"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.ttf-parser]
version = "0.25"
[dependencies.usvg]
version = "0.48"
default-features = false
[dependencies.util]
version = "0.7.0"
package = "fc-gpui-util"
[dependencies.util_macros]
version = "0.7.0"
package = "fc-gpui-util-macros"
[dependencies.uuid]
version = "1.1.2"
features = [
"v4",
"v5",
"v7",
"serde",
]
[dependencies.waker-fn]
version = "1.2.0"
[dev-dependencies.collections]
version = "0.6.0"
features = ["test-support"]
package = "fc-gpui-collections"
[dev-dependencies.criterion]
version = "0.8.2"
[dev-dependencies.http_client]
version = "0.5.3"
features = ["test-support"]
package = "fc-gpui-http-client"
[dev-dependencies.lyon]
version = "1.0"
features = ["extra"]
[dev-dependencies.postage]
version = "0.5"
features = ["futures-traits"]
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.reqwest]
version = "0.12.28"
features = [
"rustls-tls-native-roots",
"stream",
]
default-features = false
[dev-dependencies.util]
version = "0.7.0"
features = ["test-support"]
package = "fc-gpui-util"
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies.bitflags]
version = "2.6"
optional = true
[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "windows"))'.dependencies.scap]
version = "0.0.8-zed"
optional = true
default-features = false
package = "zed-scap"
[target.'cfg(target_os = "macos")'.dependencies.core-video]
version = "0.5.2"
features = ["link"]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Win32_Foundation",
"Win32_Security",
"Win32_System_Threading",
"Win32_Graphics_Imaging",
"Win32_System_Com",
"Win32_System_Ole",
]
[target.'cfg(target_os = "windows")'.dependencies.windows-capture]
version = ">=1.3.6, <1.5"
optional = true
[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