Expand description
Rust bindings for the AppIndicator and AyatanaAppIndicator libraries.
Allows applications to export a menu into the an Application Indicators aware menu bar. Based on KSNI it also works in KDE and will fallback to generic Systray support if none of those are available.
§Usage
Add the following to your Cargo.toml
:
[dependencies]
gtk = "0.18"
appindicator3 = "0.3"
Next:
use gtk::prelude::*;
use appindicator3::{Indicator, IndicatorCategory, IndicatorStatus, prelude::*};
fn main() {
gtk::init().unwrap();
let m = gtk::Menu::new();
let mi = gtk::MenuItem::with_label("Hello World");
mi.connect_activate(|_| {
gtk::main_quit();
});
m.add(&mi);
mi.show_all();
let _indicator = Indicator::builder("Example")
.category(IndicatorCategory::ApplicationStatus)
.menu(&m)
.icon("face-smile", "icon")
.status(IndicatorStatus::Active)
.build();
gtk::main();
}
Re-exports§
Modules§
Structs§
- Indicator
- A application indicator type
- Indicator
Builder - A builder-pattern type to construct
Indicator
objects.
Enums§
- Indicator
Category - The category provides grouping for the indicators so that users can find indicators that are similar together.
- Indicator
Status - These are the states that the indicator can be on in
the user’s panel. The indicator by default starts
in the state
Passive
and can be shown by setting it toActive
.