2021-11-16 09:36:54 -07:00
|
|
|
[package]
|
|
|
|
|
name = "libcosmic"
|
2026-01-28 00:49:48 +01:00
|
|
|
version = "1.0.0"
|
2025-03-19 20:29:11 +01:00
|
|
|
edition = "2024"
|
2026-01-28 00:49:48 +01:00
|
|
|
rust-version = "1.90"
|
2021-11-16 09:36:54 -07:00
|
|
|
|
2022-09-30 09:35:55 -06:00
|
|
|
[lib]
|
|
|
|
|
name = "cosmic"
|
|
|
|
|
|
2022-09-30 12:32:17 -06:00
|
|
|
[features]
|
2025-08-20 16:09:17 +02:00
|
|
|
default = ["dbus-config", "multi-window", "a11y"]
|
2023-08-15 10:58:46 +02:00
|
|
|
# Accessibility support
|
2023-05-30 12:03:15 -04:00
|
|
|
a11y = ["iced/a11y", "iced_accessibility"]
|
2024-11-11 11:11:49 -07:00
|
|
|
# Enable about widget
|
2025-09-30 22:04:32 +02:00
|
|
|
about = []
|
2023-08-15 10:58:46 +02:00
|
|
|
# Builds support for animated images
|
2025-01-14 21:45:10 +01:00
|
|
|
animated-image = ["dep:async-fs", "image/gif", "tokio?/io-util", "tokio?/fs"]
|
2024-10-16 20:36:46 -04:00
|
|
|
# XXX autosize should not be used on winit windows unless dialogs
|
|
|
|
|
autosize = []
|
|
|
|
|
applet = [
|
|
|
|
|
"autosize",
|
2024-10-18 10:59:25 -04:00
|
|
|
"winit",
|
2024-10-16 20:36:46 -04:00
|
|
|
"wayland",
|
|
|
|
|
"tokio",
|
|
|
|
|
"cosmic-panel-config",
|
|
|
|
|
"ron",
|
|
|
|
|
"multi-window",
|
|
|
|
|
]
|
2024-10-18 10:59:25 -04:00
|
|
|
applet-token = ["applet"]
|
2025-08-20 16:09:17 +02:00
|
|
|
# Use the cosmic-settings-daemon for config handling on Linux targets
|
|
|
|
|
dbus-config = []
|
2023-08-15 10:58:46 +02:00
|
|
|
# Debug features
|
|
|
|
|
debug = ["iced/debug"]
|
|
|
|
|
# Enables pipewire support in ashpd, if ashpd is enabled
|
|
|
|
|
pipewire = ["ashpd?/pipewire"]
|
2023-11-14 16:55:06 -05:00
|
|
|
# Enables process spawning helper
|
2024-07-24 18:06:11 -07:00
|
|
|
process = ["dep:libc", "dep:rustix"]
|
2024-01-22 08:08:45 +01:00
|
|
|
# Use rfd for file dialogs
|
|
|
|
|
rfd = ["dep:rfd"]
|
2024-01-25 15:02:31 +00:00
|
|
|
# Enables desktop files helpers
|
2024-05-31 05:05:36 +02:00
|
|
|
desktop = [
|
|
|
|
|
"process",
|
2025-06-11 09:25:21 +02:00
|
|
|
"dep:cosmic-settings-config",
|
2024-05-31 05:05:36 +02:00
|
|
|
"dep:freedesktop-desktop-entry",
|
|
|
|
|
"dep:mime",
|
|
|
|
|
"dep:shlex",
|
2024-10-16 16:00:18 -06:00
|
|
|
"tokio?/io-util",
|
|
|
|
|
"tokio?/net",
|
|
|
|
|
]
|
|
|
|
|
# Enables launching desktop files inside systemd scopes
|
2024-10-23 18:36:42 -04:00
|
|
|
desktop-systemd-scope = ["desktop", "dep:zbus"]
|
2023-11-09 12:21:44 -05:00
|
|
|
# Enables keycode serialization
|
|
|
|
|
serde-keycode = ["iced_core/serde"]
|
2024-01-22 08:08:45 +01:00
|
|
|
# Prevents multiple separate process instances.
|
2025-05-22 15:02:23 -07:00
|
|
|
single-instance = ["zbus/blocking-api", "ron"]
|
2023-08-15 10:58:46 +02:00
|
|
|
# smol async runtime
|
2025-01-15 22:28:20 -07:00
|
|
|
smol = ["dep:smol", "iced/smol", "zbus?/async-io", "rfd?/async-std"]
|
2024-05-12 14:17:43 -04:00
|
|
|
tokio = [
|
|
|
|
|
"dep:tokio",
|
|
|
|
|
"ashpd?/tokio",
|
|
|
|
|
"iced/tokio",
|
|
|
|
|
"rfd?/tokio",
|
|
|
|
|
"zbus?/tokio",
|
|
|
|
|
"cosmic-config/tokio",
|
|
|
|
|
]
|
2023-08-15 10:58:46 +02:00
|
|
|
# Tokio async runtime
|
|
|
|
|
# Wayland window support
|
2024-04-15 18:23:02 -04:00
|
|
|
wayland = [
|
|
|
|
|
"ashpd?/wayland",
|
2025-03-14 11:56:21 -04:00
|
|
|
"autosize",
|
2024-04-15 18:23:02 -04:00
|
|
|
"iced_runtime/wayland",
|
|
|
|
|
"iced/wayland",
|
2024-10-16 20:36:46 -04:00
|
|
|
"iced_winit/wayland",
|
2024-04-15 18:23:02 -04:00
|
|
|
"cctk",
|
2025-03-14 11:56:21 -04:00
|
|
|
"surface-message",
|
2024-04-15 18:23:02 -04:00
|
|
|
]
|
2025-03-14 11:56:21 -04:00
|
|
|
surface-message = []
|
2023-12-07 15:27:52 -05:00
|
|
|
# multi-window support
|
2023-12-11 12:59:13 -05:00
|
|
|
multi-window = ["iced/multi-window"]
|
2023-08-15 10:58:46 +02:00
|
|
|
# Render with wgpu
|
|
|
|
|
wgpu = ["iced/wgpu", "iced_wgpu"]
|
|
|
|
|
# X11 window support via winit
|
2022-11-15 23:11:48 +01:00
|
|
|
winit = ["iced/winit", "iced_winit"]
|
2023-09-13 17:10:47 +02:00
|
|
|
winit_debug = ["winit", "debug"]
|
|
|
|
|
winit_tokio = ["winit", "tokio"]
|
2023-01-03 21:33:11 +01:00
|
|
|
winit_wgpu = ["winit", "wgpu"]
|
2023-08-15 10:58:46 +02:00
|
|
|
# Enables XDG portal integrations
|
|
|
|
|
xdg-portal = ["ashpd"]
|
2024-08-28 22:35:11 +02:00
|
|
|
qr_code = ["iced/qr_code"]
|
2024-11-07 01:15:04 +01:00
|
|
|
markdown = ["iced/markdown"]
|
2025-04-24 11:26:33 -04:00
|
|
|
highlighter = ["iced/highlighter"]
|
2025-03-14 11:56:21 -04:00
|
|
|
async-std = [
|
|
|
|
|
"dep:async-std",
|
2025-08-06 01:07:34 +02:00
|
|
|
"ashpd?/async-std",
|
2025-03-14 11:56:21 -04:00
|
|
|
"rfd?/async-std",
|
|
|
|
|
"zbus?/async-io",
|
|
|
|
|
"iced/async-std",
|
|
|
|
|
]
|
2023-04-24 18:15:35 -07:00
|
|
|
|
2021-11-16 09:36:54 -07:00
|
|
|
[dependencies]
|
2022-10-07 05:20:06 +02:00
|
|
|
apply = "0.3.0"
|
2026-01-14 18:46:53 +01:00
|
|
|
ashpd = { version = "0.12.1", default-features = false, optional = true }
|
|
|
|
|
async-fs = { version = "2.2", optional = true }
|
2025-03-19 20:29:11 +01:00
|
|
|
async-std = { version = "1.13", optional = true }
|
2025-04-02 17:30:38 +02:00
|
|
|
auto_enums = "0.8.7"
|
2025-09-30 11:34:39 -04:00
|
|
|
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "d0e95be", optional = true }
|
2026-02-17 20:32:21 +01:00
|
|
|
jiff = "0.2"
|
2024-01-22 08:08:45 +01:00
|
|
|
cosmic-config = { path = "cosmic-config" }
|
2025-06-11 09:25:21 +02:00
|
|
|
cosmic-settings-config = { git = "https://github.com/pop-os/cosmic-settings-daemon", optional = true }
|
2025-09-05 18:50:25 +02:00
|
|
|
# Internationalization
|
|
|
|
|
i18n-embed = { version = "0.16.0", features = [
|
|
|
|
|
"fluent-system",
|
|
|
|
|
"desktop-requester",
|
|
|
|
|
] }
|
|
|
|
|
i18n-embed-fl = "0.10"
|
2026-01-14 18:46:53 +01:00
|
|
|
rust-embed = "8.11.0"
|
2025-03-19 20:29:11 +01:00
|
|
|
css-color = "0.2.8"
|
2025-09-03 20:08:49 +02:00
|
|
|
derive_setters = "0.1.8"
|
2025-03-19 04:04:30 +01:00
|
|
|
futures = "0.3"
|
2026-01-14 18:46:53 +01:00
|
|
|
image = { version = "0.25.9", default-features = false, features = [
|
2025-01-14 21:41:16 +01:00
|
|
|
"jpeg",
|
|
|
|
|
"png",
|
|
|
|
|
] }
|
2026-01-14 18:46:53 +01:00
|
|
|
libc = { version = "0.2.180", optional = true }
|
2025-11-19 15:44:31 +02:00
|
|
|
log = "0.4"
|
2024-03-01 11:53:26 -07:00
|
|
|
mime = { version = "0.3.17", optional = true }
|
2025-03-19 20:29:11 +01:00
|
|
|
palette = "0.7.6"
|
2025-06-12 11:40:50 -04:00
|
|
|
raw-window-handle = "0.6"
|
2026-01-28 00:49:48 +01:00
|
|
|
rfd = { version = "0.16.0", default-features = false, features = [
|
2025-03-14 11:56:21 -04:00
|
|
|
"xdg-portal",
|
|
|
|
|
], optional = true }
|
2025-09-11 16:37:42 +02:00
|
|
|
rustix = { version = "1.1", features = ["pipe", "process"], optional = true }
|
2026-01-14 18:46:53 +01:00
|
|
|
serde = { version = "1.0.228", features = ["derive"] }
|
|
|
|
|
slotmap = "1.1.1"
|
2025-03-19 20:29:11 +01:00
|
|
|
smol = { version = "2.0.2", optional = true }
|
2026-01-28 00:49:48 +01:00
|
|
|
thiserror = "2.0.18"
|
2026-01-14 18:46:53 +01:00
|
|
|
taffy = { version = "0.9.2", features = ["grid"] }
|
|
|
|
|
tokio = { version = "1.49.0", optional = true }
|
|
|
|
|
tracing = "0.1.44"
|
2025-03-19 20:29:11 +01:00
|
|
|
unicode-segmentation = "1.12"
|
2026-01-14 18:46:53 +01:00
|
|
|
url = "2.5.8"
|
2026-01-28 00:49:48 +01:00
|
|
|
zbus = { version = "5.13.2", default-features = false, optional = true }
|
2022-10-28 21:59:41 -07:00
|
|
|
|
2025-08-20 16:09:17 +02:00
|
|
|
# Enable DBus feature on Linux targets
|
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
|
|
|
cosmic-config = { path = "cosmic-config", features = ["dbus"] }
|
|
|
|
|
cosmic-settings-daemon = { git = "https://github.com/pop-os/dbus-settings-bindings" }
|
2026-01-28 00:49:48 +01:00
|
|
|
zbus = { version = "5.13.2", default-features = false }
|
2025-08-20 16:09:17 +02:00
|
|
|
|
2023-04-24 18:15:35 -07:00
|
|
|
[target.'cfg(unix)'.dependencies]
|
2025-04-04 02:37:35 +02:00
|
|
|
freedesktop-icons = { package = "cosmic-freedesktop-icons", git = "https://github.com/pop-os/freedesktop-icons" }
|
2026-01-06 02:25:11 +01:00
|
|
|
freedesktop-desktop-entry = { version = "0.8.1", optional = true }
|
2024-01-25 15:02:31 +00:00
|
|
|
shlex = { version = "1.3.0", optional = true }
|
2023-04-24 18:15:35 -07:00
|
|
|
|
2025-11-11 23:02:57 +01:00
|
|
|
[target.'cfg(not(unix))'.dependencies]
|
|
|
|
|
# Used to embed bundled icons for non-unix platforms.
|
|
|
|
|
phf = { version = "0.13.1", features = ["macros"] }
|
|
|
|
|
|
2022-10-28 21:59:41 -07:00
|
|
|
[dependencies.cosmic-theme]
|
2023-05-30 12:03:15 -04:00
|
|
|
path = "cosmic-theme"
|
2021-12-21 14:51:57 -05:00
|
|
|
|
2022-09-30 08:55:37 -06:00
|
|
|
[dependencies.iced]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced"
|
2022-11-10 16:19:13 +01:00
|
|
|
default-features = false
|
2025-01-14 21:41:16 +01:00
|
|
|
features = [
|
|
|
|
|
"advanced",
|
|
|
|
|
"image-without-codecs",
|
|
|
|
|
"lazy",
|
|
|
|
|
"svg",
|
|
|
|
|
"web-colors",
|
|
|
|
|
"tiny-skia",
|
|
|
|
|
]
|
2023-05-30 12:03:15 -04:00
|
|
|
|
|
|
|
|
[dependencies.iced_runtime]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/runtime"
|
2022-10-28 21:59:41 -07:00
|
|
|
|
2023-06-01 16:12:57 -06:00
|
|
|
[dependencies.iced_renderer]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/renderer"
|
2023-06-01 16:12:57 -06:00
|
|
|
|
2022-10-28 21:59:41 -07:00
|
|
|
[dependencies.iced_core]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/core"
|
2023-11-16 07:59:01 -07:00
|
|
|
features = ["serde"]
|
2022-02-24 14:03:01 -05:00
|
|
|
|
2023-05-30 12:03:15 -04:00
|
|
|
[dependencies.iced_widget]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/widget"
|
2023-09-29 16:14:03 -04:00
|
|
|
features = ["canvas"]
|
2022-10-08 04:28:29 -07:00
|
|
|
|
2023-06-01 16:12:57 -06:00
|
|
|
[dependencies.iced_futures]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/futures"
|
2023-06-01 16:12:57 -06:00
|
|
|
|
2023-05-30 12:03:15 -04:00
|
|
|
[dependencies.iced_accessibility]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/accessibility"
|
2022-12-19 15:42:10 -07:00
|
|
|
optional = true
|
2023-06-15 11:16:32 -04:00
|
|
|
|
2023-05-30 12:03:15 -04:00
|
|
|
[dependencies.iced_tiny_skia]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/tiny_skia"
|
2023-01-18 19:01:16 -05:00
|
|
|
|
2022-10-07 05:20:06 +02:00
|
|
|
[dependencies.iced_winit]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/winit"
|
2022-11-14 00:38:57 +01:00
|
|
|
optional = true
|
2022-09-30 12:26:14 -06:00
|
|
|
|
2022-10-28 21:59:41 -07:00
|
|
|
[dependencies.iced_wgpu]
|
2023-09-29 17:24:59 -04:00
|
|
|
path = "./iced/wgpu"
|
2022-12-13 16:15:36 -05:00
|
|
|
optional = true
|
|
|
|
|
|
2023-08-08 18:09:57 -04:00
|
|
|
[dependencies.cosmic-panel-config]
|
|
|
|
|
git = "https://github.com/pop-os/cosmic-panel"
|
2025-11-11 15:04:09 -05:00
|
|
|
# path = "../cosmic-panel/cosmic-panel-config"
|
2023-08-08 18:09:57 -04:00
|
|
|
optional = true
|
|
|
|
|
|
|
|
|
|
[dependencies.ron]
|
2026-01-28 00:49:48 +01:00
|
|
|
version = "0.12"
|
2023-08-08 18:09:57 -04:00
|
|
|
optional = true
|
|
|
|
|
|
2022-02-24 14:03:01 -05:00
|
|
|
[workspace]
|
2022-09-30 08:55:37 -06:00
|
|
|
members = [
|
2024-04-15 18:23:02 -04:00
|
|
|
"cosmic-config",
|
|
|
|
|
"cosmic-config-derive",
|
|
|
|
|
"cosmic-theme",
|
|
|
|
|
"examples/*",
|
2022-09-30 08:55:37 -06:00
|
|
|
]
|
2024-09-12 13:07:34 -10:00
|
|
|
exclude = ["iced"]
|
2023-06-15 13:06:30 -04:00
|
|
|
|
2024-01-30 19:20:35 -05:00
|
|
|
[workspace.dependencies]
|
2025-03-19 20:29:11 +01:00
|
|
|
dirs = "6.0.0"
|
2024-01-30 19:20:35 -05:00
|
|
|
|
2025-11-13 17:02:12 +02:00
|
|
|
[dev-dependencies]
|
2026-01-14 18:46:53 +01:00
|
|
|
tempfile = "3.24.0"
|