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
Indicatorobjects.
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
Passiveand can be shown by setting it toActive.