| Crates.io | appmenu-glib-translator |
| lib.rs | appmenu-glib-translator |
| version | 0.1.0 |
| created_at | 2026-01-12 11:15:05.894603+00 |
| updated_at | 2026-01-12 11:15:05.894603+00 |
| description | Rust bindings for the appmenu-glib-translator library. |
| homepage | https://codeberg.org/Daru-san/appmenu-glib-translator-rs |
| repository | https://codeberg.org/Daru-san/appmenu-glib-translator-rs |
| max_upload_size | |
| id | 2037527 |
| size | 29,262,287 |
Rust bindings for the appmenu-glib-translator library.
This library makes it possible to create GLib app menus for StatusNotifierWatcher implementations.
This example shows how this library makes it possible to create tray menus.
use appmenu_glib_translator::{Importer, prelude::ImporterExtManual};
pub struct TrayItem {
menu_path: String,
bus_name: String,
icon_name: String
}
fn append_tray_item(container: >k4::Box, item: TrayItem) {
let importer = Importer::builder()
.bus_name(item.bus_name.as_str())
.object_path(item.menu_path.as_str())
.build();
let button = gtk4::MenuButton::builder()
.icon_name(item.icon_name.as_str())
.build();
if let Some(ref menumodel) = importer.menu_model() {
button.set_menu_model(Some(menumodel));
}
if let Some(ref action_group) = importer.action_group() {
button.set_action_group(Some(action_group));
}
container.append(&button);
}