This commit squashes the 21 local commits that customize cosmic-files for the yoda stack, to allow a clean rebase on upstream/master. Original commits (chronological): -9bcfe7aCargo.toml: patch libcosmic via local path for dev builds -04abd13yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic -02adcc3lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2 -a025fd6yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback -e8d62aeyoda: add "Always use this app" toggle to OpenWith dialog -8fb2b15yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks -0595296yoda: Dolphin-style quick actions toolbar under the headerbar -4b6d345yoda: fix missing rename icon in toolbar -8b51af1yoda: use pencil-symbolic for the Rename toolbar button -33a5c8fyoda: phase 2 - customizable toolbar (settings toggles per button) -1cf17dcyoda: phase 3 - drag-drop toolbar editor in Settings -11d4357yoda: add up/down buttons next to drag handle in toolbar editor -af843d2yoda: direct drag-drop reorder on the toolbar itself -94c3e6cyoda: toolbar as segmented_button for working drag reorder -f053819yoda: toolbar icon-only + clean visual (Control style, 32px squares) -338354cImprove initial directory listing latency -d080bc8Resolve cosmic-files warnings without masking -69c35abyoda: switch window_clipboard patch to public Forgejo fork -35e115fyoda: switch cosmic-text patch to public Forgejo fork -6f3adcdchore: clean feature-gated warnings -57ab1ecfix: clean files warnings for terminal build Original tip preserved as tag backup/pre-rebase-upstream-20260524.
167 lines
4.7 KiB
TOML
167 lines
4.7 KiB
TOML
[package]
|
|
name = "cosmic-files"
|
|
version = "1.0.13"
|
|
authors = ["Jeremy Soller <jeremy@system76.com>"]
|
|
edition = "2024"
|
|
license = "GPL-3.0-only"
|
|
rust-version = "1.93"
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
jiff = "0.2"
|
|
jiff-icu = "0.2"
|
|
icu = { version = "2.2.0", features = ["compiled_data"] }
|
|
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "160b086", optional = true }
|
|
cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true }
|
|
dirs = "6.0.0"
|
|
gio = { version = "0.21", optional = true }
|
|
glib = { version = "0.21", optional = true }
|
|
glob = "0.3"
|
|
ignore = "0.4"
|
|
image = "0.25"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
mime_guess = "2"
|
|
notify-debouncer-full = "0.7"
|
|
notify-rust = { version = "4", optional = true }
|
|
open = "5.3.4"
|
|
paste = "1.0"
|
|
regex = "1"
|
|
rustc-hash = "2.1"
|
|
serde = { version = "1", features = ["serde_derive"] }
|
|
shlex = { version = "1.3" }
|
|
tempfile = "3"
|
|
tikv-jemallocator = { version = "0.6", optional = true }
|
|
tokio = { version = "1", features = ["process", "sync"] }
|
|
trash = { git = "https://github.com/jackpot51/trash-rs.git", branch = "cosmic" }
|
|
url = "2.5"
|
|
walkdir = "2.5.0"
|
|
wayland-client = { version = "0.31.14", optional = true }
|
|
xdg = { version = "3.0", optional = true }
|
|
xdg-mime = { git = "https://github.com/ebassi/xdg-mime-rs" }
|
|
# Compression
|
|
bzip2 = { version = "0.6", optional = true } #TODO: replace with pure Rust crate
|
|
flate2 = "1.1"
|
|
tar = "0.4.45"
|
|
lzma-rust2 = { version = "0.16", optional = true }
|
|
ordermap = { version = "1.2.0", features = ["serde"] }
|
|
# Internationalization
|
|
i18n-embed = { version = "0.16", features = [
|
|
"fluent-system",
|
|
"desktop-requester",
|
|
] }
|
|
i18n-embed-fl = "0.10"
|
|
rust-embed = "8"
|
|
slotmap = "1.1.1"
|
|
recently-used-xbel = "1.2.0"
|
|
zip = "8"
|
|
md-5 = "0.10.6"
|
|
png = "0.18"
|
|
jxl-oxide = { version = "0.12.5", features = ["image"] }
|
|
num_cpus = "1.17.0"
|
|
filetime = "0.2"
|
|
tracing = "0.1.44"
|
|
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
|
|
thiserror = "2.0.18"
|
|
atomic_float = "1.1.0"
|
|
num_enum = "0.7.6"
|
|
bstr = "1.12.1"
|
|
|
|
# Completion-based IO runtime to enable io_uring / IOCP file IO support.
|
|
[dependencies.compio]
|
|
version = "0.18"
|
|
default-features = false
|
|
features = ["fs", "io", "macros", "polling", "runtime"]
|
|
|
|
# Yoda fork — depend on libcosmic-yoda directly by path (no git/no patch).
|
|
[dependencies.libcosmic-yoda]
|
|
path = "../libcosmic"
|
|
default-features = false
|
|
#TODO: a11y feature crashes
|
|
features = [
|
|
"about",
|
|
"advanced-shaping",
|
|
"autosize",
|
|
"multi-window",
|
|
"tokio",
|
|
"wayland",
|
|
"surface-message",
|
|
]
|
|
|
|
[[example]]
|
|
name = "gio-list"
|
|
required-features = ["gvfs"]
|
|
|
|
[[example]]
|
|
name = "gio-mount"
|
|
required-features = ["gvfs"]
|
|
|
|
[[example]]
|
|
name = "gvfs"
|
|
required-features = ["gvfs"]
|
|
|
|
[features]
|
|
default = [
|
|
"bzip2",
|
|
"dbus-config",
|
|
"desktop",
|
|
"gvfs",
|
|
"io-uring",
|
|
"lzma-rust2",
|
|
"notify",
|
|
"wayland",
|
|
"wgpu",
|
|
]
|
|
dbus-config = ["libcosmic-yoda/dbus-config"]
|
|
desktop = ["libcosmic-yoda/desktop", "dep:cosmic-mime-apps", "dep:xdg"]
|
|
desktop-applet = []
|
|
gvfs = ["dep:gio", "dep:glib"]
|
|
io-uring = ["compio/io-uring"]
|
|
jemalloc = ["dep:tikv-jemallocator"]
|
|
notify = ["dep:notify-rust"]
|
|
wayland = ["libcosmic-yoda/wayland", "dep:cctk", "dep:wayland-client"]
|
|
wgpu = ["libcosmic-yoda/wgpu"]
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
|
|
[profile.release-with-debug]
|
|
inherits = "release"
|
|
debug = true
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
fork = "0.7"
|
|
uzers = "0.12.2"
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
procfs = "0.18"
|
|
|
|
[build-dependencies]
|
|
xdgen = "0.1"
|
|
|
|
[dev-dependencies]
|
|
# cap-std = "3"
|
|
# cap-tempfile = "3"
|
|
fastrand = "2"
|
|
test-log = "0.2"
|
|
tokio = { version = "1", features = ["rt", "macros"] }
|
|
|
|
# Yoda fork — libcosmic dep is now a direct path dep (libcosmic-yoda above),
|
|
# no [patch] block needed anymore. Keeping the block below would be a no-op
|
|
# since nothing in the dep graph still asks for pop-os/libcosmic.git.
|
|
|
|
# Yoda wayland cut: redirect window_clipboard (x11 gated behind opt-in
|
|
# feature) and cosmic-text (PR#503: EAW monospace width fix) to our public
|
|
# Forgejo forks. The window_clipboard patch is needed to consolidate the
|
|
# upstream pop-os/libcosmic chain (pulled by cosmic-settings-daemon) onto
|
|
# the same fork iced uses, otherwise cargo compiles two versions.
|
|
[patch.'https://github.com/pop-os/window_clipboard.git']
|
|
window_clipboard = { git = "https://forge.aditua.com/leyoda/window_clipboard.git", branch = "yoda-x11-optional" }
|
|
dnd = { git = "https://forge.aditua.com/leyoda/window_clipboard.git", branch = "yoda-x11-optional" }
|
|
mime = { git = "https://forge.aditua.com/leyoda/window_clipboard.git", branch = "yoda-x11-optional" }
|
|
|
|
[patch.'https://github.com/pop-os/cosmic-text.git']
|
|
cosmic-text = { git = "https://forge.aditua.com/leyoda/cosmic-text.git", branch = "local/pr-503" }
|
|
|
|
[workspace]
|
|
members = ["cosmic-files-applet"]
|