Closed stephengeorgewest closed 1 year ago
I rebased @njust branch onto the new changes, and added the feature switching. I had to re-add Sync to pub fn add_menu_item for ksni add_menu_item.
Sync
pub fn add_menu_item
add_menu_item
I didn't test macos, but it didn't change much.
ksni has far fewer dependencies than libappindicator, so that is something.
stephen@ao751h:~/Documents/projects/tray-item-rs$ cargo tree --features ksni Updating crates.io index tray-item v0.7.0 (/home/stephen/Documents/projects/tray-item-rs) └── ksni v0.1.3 ├── dbus v0.9.5 │ ├── libc v0.2.126 │ └── libdbus-sys v0.2.2 │ [build-dependencies] │ └── pkg-config v0.3.25 ├── dbus-tree v0.9.2 │ └── dbus v0.9.5 (*) └── thiserror v1.0.31 └── thiserror-impl v1.0.31 (proc-macro) ├── proc-macro2 v1.0.39 │ └── unicode-ident v1.0.0 ├── quote v1.0.18 │ └── proc-macro2 v1.0.39 (*) └── syn v1.0.95 ├── proc-macro2 v1.0.39 (*) ├── quote v1.0.18 (*) └── unicode-ident v1.0.0 [build-dependencies] └── dbus-codegen v0.9.1 ├── clap v2.34.0 │ ├── ansi_term v0.12.1 │ ├── atty v0.2.14 │ │ └── libc v0.2.126 │ ├── bitflags v1.3.2 │ ├── strsim v0.8.0 │ ├── textwrap v0.11.0 │ │ └── unicode-width v0.1.9 │ ├── unicode-width v0.1.9 │ └── vec_map v0.8.2 ├── dbus v0.9.5 (*) └── xml-rs v0.8.4
stephen@ao751h:~/Documents/projects/tray-item-rs$ cargo tree --features libappindicator tray-item v0.7.0 (/home/stephen/Documents/projects/tray-item-rs) ├── gtk v0.15.5 │ ├── atk v0.15.1 │ │ ├── atk-sys v0.15.1 │ │ │ ├── glib-sys v0.15.10 │ │ │ │ └── libc v0.2.126 │ │ │ │ [build-dependencies] │ │ │ │ └── system-deps v6.0.2 │ │ │ │ ├── cfg-expr v0.10.3 │ │ │ │ │ └── smallvec v1.8.0 │ │ │ │ ├── heck v0.4.0 │ │ │ │ ├── pkg-config v0.3.25 │ │ │ │ ├── toml v0.5.9 │ │ │ │ │ └── serde v1.0.137 │ │ │ │ └── version-compare v0.1.0 │ │ │ ├── gobject-sys v0.15.10 │ │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ │ └── libc v0.2.126 │ │ │ │ [build-dependencies] │ │ │ │ └── system-deps v6.0.2 (*) │ │ │ └── libc v0.2.126 │ │ │ [build-dependencies] │ │ │ └── system-deps v6.0.2 (*) │ │ ├── bitflags v1.3.2 │ │ ├── glib v0.15.11 │ │ │ ├── bitflags v1.3.2 │ │ │ ├── futures-channel v0.3.21 │ │ │ │ └── futures-core v0.3.21 │ │ │ ├── futures-core v0.3.21 │ │ │ ├── futures-executor v0.3.21 │ │ │ │ ├── futures-core v0.3.21 │ │ │ │ ├── futures-task v0.3.21 │ │ │ │ └── futures-util v0.3.21 │ │ │ │ ├── futures-core v0.3.21 │ │ │ │ ├── futures-task v0.3.21 │ │ │ │ ├── pin-project-lite v0.2.9 │ │ │ │ ├── pin-utils v0.1.0 │ │ │ │ └── slab v0.4.6 │ │ │ ├── futures-task v0.3.21 │ │ │ ├── glib-macros v0.15.11 (proc-macro) │ │ │ │ ├── anyhow v1.0.57 │ │ │ │ ├── heck v0.4.0 │ │ │ │ ├── proc-macro-crate v1.1.3 │ │ │ │ │ ├── thiserror v1.0.31 │ │ │ │ │ │ └── thiserror-impl v1.0.31 (proc-macro) │ │ │ │ │ │ ├── proc-macro2 v1.0.39 │ │ │ │ │ │ │ └── unicode-ident v1.0.0 │ │ │ │ │ │ ├── quote v1.0.18 │ │ │ │ │ │ │ └── proc-macro2 v1.0.39 (*) │ │ │ │ │ │ └── syn v1.0.95 │ │ │ │ │ │ ├── proc-macro2 v1.0.39 (*) │ │ │ │ │ │ ├── quote v1.0.18 (*) │ │ │ │ │ │ └── unicode-ident v1.0.0 │ │ │ │ │ └── toml v0.5.9 (*) │ │ │ │ ├── proc-macro-error v1.0.4 │ │ │ │ │ ├── proc-macro-error-attr v1.0.4 (proc-macro) │ │ │ │ │ │ ├── proc-macro2 v1.0.39 (*) │ │ │ │ │ │ └── quote v1.0.18 (*) │ │ │ │ │ │ [build-dependencies] │ │ │ │ │ │ └── version_check v0.9.4 │ │ │ │ │ ├── proc-macro2 v1.0.39 (*) │ │ │ │ │ ├── quote v1.0.18 (*) │ │ │ │ │ └── syn v1.0.95 (*) │ │ │ │ │ [build-dependencies] │ │ │ │ │ └── version_check v0.9.4 │ │ │ │ ├── proc-macro2 v1.0.39 (*) │ │ │ │ ├── quote v1.0.18 (*) │ │ │ │ └── syn v1.0.95 (*) │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ ├── gobject-sys v0.15.10 (*) │ │ │ ├── libc v0.2.126 │ │ │ ├── once_cell v1.12.0 │ │ │ ├── smallvec v1.8.0 │ │ │ └── thiserror v1.0.31 (*) │ │ └── libc v0.2.126 │ ├── bitflags v1.3.2 │ ├── cairo-rs v0.15.11 │ │ ├── bitflags v1.3.2 │ │ ├── cairo-sys-rs v0.15.1 │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ └── libc v0.2.126 │ │ │ [build-dependencies] │ │ │ └── system-deps v6.0.2 (*) │ │ ├── glib v0.15.11 (*) │ │ ├── libc v0.2.126 │ │ └── thiserror v1.0.31 (*) │ ├── field-offset v0.3.4 │ │ └── memoffset v0.6.5 │ │ [build-dependencies] │ │ └── autocfg v1.1.0 │ │ [build-dependencies] │ │ └── rustc_version v0.3.3 │ │ └── semver v0.11.0 │ │ └── semver-parser v0.10.2 │ │ └── pest v2.1.3 │ │ └── ucd-trie v0.1.3 │ ├── futures-channel v0.3.21 (*) │ ├── gdk v0.15.4 │ │ ├── bitflags v1.3.2 │ │ ├── cairo-rs v0.15.11 (*) │ │ ├── gdk-pixbuf v0.15.11 │ │ │ ├── bitflags v1.3.2 │ │ │ ├── gdk-pixbuf-sys v0.15.10 │ │ │ │ ├── gio-sys v0.15.10 │ │ │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ │ │ ├── gobject-sys v0.15.10 (*) │ │ │ │ │ └── libc v0.2.126 │ │ │ │ │ [build-dependencies] │ │ │ │ │ └── system-deps v6.0.2 (*) │ │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ │ ├── gobject-sys v0.15.10 (*) │ │ │ │ └── libc v0.2.126 │ │ │ │ [build-dependencies] │ │ │ │ └── system-deps v6.0.2 (*) │ │ │ ├── gio v0.15.11 │ │ │ │ ├── bitflags v1.3.2 │ │ │ │ ├── futures-channel v0.3.21 (*) │ │ │ │ ├── futures-core v0.3.21 │ │ │ │ ├── futures-io v0.3.21 │ │ │ │ ├── gio-sys v0.15.10 (*) │ │ │ │ ├── glib v0.15.11 (*) │ │ │ │ ├── libc v0.2.126 │ │ │ │ ├── once_cell v1.12.0 │ │ │ │ └── thiserror v1.0.31 (*) │ │ │ ├── glib v0.15.11 (*) │ │ │ └── libc v0.2.126 │ │ ├── gdk-sys v0.15.1 │ │ │ ├── cairo-sys-rs v0.15.1 (*) │ │ │ ├── gdk-pixbuf-sys v0.15.10 (*) │ │ │ ├── gio-sys v0.15.10 (*) │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ ├── gobject-sys v0.15.10 (*) │ │ │ ├── libc v0.2.126 │ │ │ └── pango-sys v0.15.10 │ │ │ ├── glib-sys v0.15.10 (*) │ │ │ ├── gobject-sys v0.15.10 (*) │ │ │ └── libc v0.2.126 │ │ │ [build-dependencies] │ │ │ └── system-deps v6.0.2 (*) │ │ │ [build-dependencies] │ │ │ ├── pkg-config v0.3.25 │ │ │ └── system-deps v6.0.2 (*) │ │ ├── gio v0.15.11 (*) │ │ ├── glib v0.15.11 (*) │ │ ├── libc v0.2.126 │ │ └── pango v0.15.10 │ │ ├── bitflags v1.3.2 │ │ ├── glib v0.15.11 (*) │ │ ├── libc v0.2.126 │ │ ├── once_cell v1.12.0 │ │ └── pango-sys v0.15.10 (*) │ ├── gdk-pixbuf v0.15.11 (*) │ ├── gio v0.15.11 (*) │ ├── glib v0.15.11 (*) │ ├── gtk-sys v0.15.3 │ │ ├── atk-sys v0.15.1 (*) │ │ ├── cairo-sys-rs v0.15.1 (*) │ │ ├── gdk-pixbuf-sys v0.15.10 (*) │ │ ├── gdk-sys v0.15.1 (*) │ │ ├── gio-sys v0.15.10 (*) │ │ ├── glib-sys v0.15.10 (*) │ │ ├── gobject-sys v0.15.10 (*) │ │ ├── libc v0.2.126 │ │ └── pango-sys v0.15.10 (*) │ │ [build-dependencies] │ │ └── system-deps v6.0.2 (*) │ ├── gtk3-macros v0.15.4 (proc-macro) │ │ ├── anyhow v1.0.57 │ │ ├── proc-macro-crate v1.1.3 (*) │ │ ├── proc-macro-error v1.0.4 (*) │ │ ├── proc-macro2 v1.0.39 (*) │ │ ├── quote v1.0.18 (*) │ │ └── syn v1.0.95 (*) │ ├── libc v0.2.126 │ ├── once_cell v1.12.0 │ └── pango v0.15.10 (*) │ [build-dependencies] │ └── pkg-config v0.3.25 └── libappindicator v0.7.0 ├── glib v0.15.11 (*) ├── gtk v0.15.5 (*) ├── gtk-sys v0.15.3 (*) ├── libappindicator-sys v0.7.2 │ ├── gtk-sys v0.15.3 (*) │ ├── libloading v0.7.3 │ │ └── cfg-if v1.0.0 │ └── once_cell v1.12.0 └── log v0.4.17 └── cfg-if v1.0.0
fix for #2
I rebased @njust branch onto the new changes, and added the feature switching. I had to re-add
Sync
topub fn add_menu_item
for ksniadd_menu_item
.I didn't test macos, but it didn't change much.
ksni has far fewer dependencies than libappindicator, so that is something.