[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 = [ "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 = ["dep:clap", "ipc"] ipc = ["dep:serde_json"] http = ["dep:reqwest"] "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:nix"] clock = ["chrono"] custom = [] focused = [] keyboard = ["dep:input", "dep:evdev-rs", "dep:libc", "dep:nix"] "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"] sway = ["swayipc-async", "futures-lite"] schema = ["dep:schemars"] [dependencies] # core gtk = "0.18.2" gtk-layer-shell = "0.8.2" glib = "0.18.5" tokio = { version = "1.44.1", features = [ "macros", "rt-multi-thread", "time", "process", "sync", "io-util", "net", ] } 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.8.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.2.0", features = ["client"] } smithay-client-toolkit = { version = "0.18.1", default-features = false, features = [ "calloop", ] } universal-config = { version = "0.5.0", default-features = false } ctrlc = "3.4.5" cfg-if = "1.0.0" # cli clap = { version = "4.5.32", optional = true, features = ["derive"] } # ipc serde_json = { version = "1.0.140", optional = true } # http reqwest = { version = "0.12.15", default-features = false, features = ["default-tls", "http2"], optional = true } # cairo lua-src = { version = "547.0.0", optional = true } mlua = { version = "0.9.9", optional = true, features = ["luajit"] } cairo-rs = { version = "0.18.5", optional = true, features = ["png"] } # clock chrono = { version = "0.4.40", optional = true, default-features = false, features = ["clock", "unstable-locales"] } # keyboard input = { version = "0.9.1", optional = true } evdev-rs = { version = "0.6.1", optional = true } libc = { version = "0.2.171", 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.33.1", optional = true } # tray system-tray = { version = "0.7.0", features = ["dbusmenu-gtk3"], optional = true } # volume libpulse-binding = { version = "2.29.0", optional = true } # shared futures-lite = { version = "2.6.0", optional = true } # network_manager, upower, workspaces nix = { version = "0.29.0", optional = true, features = ["event", "fs", "poll"] } # clipboard, input zbus = { version = "5.5.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-alpha.3", features = ["silent"], optional = true } # workspaces, keyboard # schema schemars = { version = "0.8.22", optional = true } [build-dependencies] clap = { version = "4.5.32", features = ["derive"] } clap_complete = "4.5.46" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.140"