1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-08-16 22:31:03 +02:00
ironbar/Cargo.toml
Jake Stanger 3e55d87c3a
refactor: overhaul .desktop and image resolver systems
Rewrites the desktop file parser code and image resolver code to introduce caching system and make fully async. They should be much faster now.

BREAKING CHANGE: The `icon_theme` setting has been moved from per-bar to top-level
2025-05-25 16:24:17 +01:00

197 lines
No EOL
5.1 KiB
TOML

[package]
name = "ironbar"
version = "0.16.1"
edition = "2024"
license = "MIT"
description = "Customisable GTK Layer Shell wlroots/sway bar"
repository = "https://github.com/jakestanger/ironbar"
categories = ["gui"]
keywords = ["gtk", "bar", "wayland", "wlroots", "gtk-layer-shell"]
[features]
default = [
"bindmode+all",
"cli",
"cairo",
"clipboard",
"clock",
"config+all",
"custom",
"focused",
"http",
"ipc",
"keyboard+all",
"launcher",
"label",
"music+all",
"network_manager",
"notifications",
"script",
"sys_info",
"tray",
"upower",
"volume",
"workspaces+all",
]
cli = ["ipc"]
ipc = ["dep:serde_json", "dep:clap"]
http = ["dep:reqwest"]
bindmode = []
"bindmode+all" = ["bindmode+sway", "bindmode+hyprland"]
"bindmode+sway" = ["bindmode", "sway"]
"bindmode+hyprland" = ["bindmode", "hyprland"]
"config+all" = [
"config+json",
"config+yaml",
"config+toml",
"config+corn",
"config+ron",
]
"config+json" = ["universal-config/json"]
"config+yaml" = ["universal-config/yaml"]
"config+toml" = ["universal-config/toml"]
"config+corn" = ["universal-config/corn"]
"config+ron" = ["universal-config/ron"]
cairo = ["lua-src", "mlua", "cairo-rs"]
clipboard = ["dep:rustix"]
clock = ["chrono"]
custom = []
focused = []
keyboard = ["dep:colpetto", "dep:evdev-rs", "dep:rustix", "futures-lite"]
"keyboard+all" = ["keyboard", "keyboard+sway", "keyboard+hyprland"]
"keyboard+sway" = ["keyboard", "sway"]
"keyboard+hyprland" = ["keyboard", "hyprland"]
label = []
launcher = []
music = ["dep:regex"]
"music+all" = ["music", "music+mpris", "music+mpd"]
"music+mpris" = ["music", "mpris"]
"music+mpd" = ["music", "mpd-utils"]
network_manager = ["futures-lite", "futures-signals", "zbus"]
notifications = ["zbus"]
script = []
sys_info = ["dep:sysinfo"]
tray = ["system-tray"]
upower = ["zbus", "futures-lite"]
volume = ["libpulse-binding"]
workspaces = ["futures-lite"]
"workspaces+all" = ["workspaces", "workspaces+sway", "workspaces+hyprland", "workspaces+niri"]
"workspaces+sway" = ["workspaces", "sway"]
"workspaces+hyprland" = ["workspaces", "hyprland"]
"workspaces+niri" = ["workspaces", "niri"]
sway = ["swayipc-async", "futures-lite"]
niri = ["dep:serde_json"]
schema = ["dep:schemars"]
[dependencies]
# core
gtk = "0.18.2"
gtk-layer-shell = "0.8.2"
glib = "0.18.5"
tokio = { version = "1.45.0", features = [
"macros",
"rt-multi-thread",
"time",
"process",
"sync",
"io-util",
"net",
"fs"
] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
tracing-error = { version = "0.2.1", default-features = false }
tracing-appender = "0.2.3"
strip-ansi-escapes = "0.2.0"
color-eyre = "0.6.3"
serde = { version = "1.0.219", features = ["derive"] }
indexmap = "2.9.0"
dirs = "6.0.0"
walkdir = "2.5.0"
notify = { version = "8.0.0", default-features = false }
wayland-client = "0.31.1"
wayland-protocols-wlr = { version = "0.3.8", features = ["client"] }
smithay-client-toolkit = { version = "0.18.1", default-features = false, features = [
"calloop",
] }
universal-config = { version = "0.5.1", default-features = false }
ctrlc = "3.4.7"
cfg-if = "1.0.0"
# cli
clap = { version = "4.5.38", optional = true, features = ["derive"] }
# http
reqwest = { version = "0.12.15", default-features = false, features = ["default-tls", "http2"], optional = true }
# cairo
lua-src = { version = "547.1.0", optional = true }
mlua = { version = "0.10.3", optional = true, features = ["luajit", "send"] }
cairo-rs = { version = "0.18.5", optional = true, features = ["png"] }
# clock
chrono = { version = "0.4.41", optional = true, default-features = false, features = ["clock", "unstable-locales"] }
# keyboard
colpetto = { version = "0.6.0", features = ["tokio", "tracing"], optional = true }
evdev-rs = { version = "0.6.1", optional = true }
# music
mpd-utils = { version = "0.2.1", optional = true }
mpris = { version = "2.0.1", optional = true }
regex = { version = "1.11.1", default-features = false, features = [
"std",
], optional = true }
# network_manager
futures-signals = { version = "0.3.34", optional = true }
# sys_info
sysinfo = { version = "0.35.1", optional = true }
# tray
system-tray = { version = "0.7.0", features = ["dbusmenu-gtk3"], optional = true }
# volume
libpulse-binding = { version = "2.30.1", optional = true }
# shared
futures-lite = { version = "2.6.0", optional = true } # network_manager, upower, workspaces, keyboard
zbus = { version = "5.7.0", default-features = false, features = ["tokio"], optional = true } # network_manager, notifications, upower
swayipc-async = { version = "2.0.4", optional = true } # workspaces, keyboard
hyprland = { version = "0.4.0-beta.2", optional = true } # workspaces, keyboard
rustix = { version = "1.0.7", default-features = false, features = ["std", "fs", "pipe", "event"], optional = true } # clipboard, input
serde_json = { version = "1.0.140", optional = true } # ipc, niri
# schema
schemars = { version = "0.8.22", optional = true }
[build-dependencies]
clap = { version = "4.5.38", features = ["derive"] }
clap_complete = "4.5.50"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.140"