1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-07-01 18:51:04 +02:00

fix: fallback to default icon theme for notifier items

This commit is contained in:
Paul Delafosse 2023-02-03 09:40:53 +01:00 committed by Jake Stanger
parent 51e95d9e01
commit 98aaaa0d14
No known key found for this signature in database
GPG key ID: C51FC8F9CB0BEA61

View file

@ -27,15 +27,20 @@ pub struct TrayModule {
/// Attempts to get a GTK `Image` component /// Attempts to get a GTK `Image` component
/// for the status notifier item's icon. /// for the status notifier item's icon.
fn get_image_from_icon_name(item: &StatusNotifierItem) -> Option<Image> { fn get_image_from_icon_name(item: &StatusNotifierItem) -> Option<Image> {
item.icon_theme_path.as_ref().and_then(|path| { let theme = item
.icon_theme_path
.as_ref()
.map(|path| {
let theme = IconTheme::new(); let theme = IconTheme::new();
theme.append_search_path(path); theme.append_search_path(path);
theme
})
.unwrap_or_default();
item.icon_name.as_ref().and_then(|icon_name| { item.icon_name.as_ref().and_then(|icon_name| {
let icon_info = theme.lookup_icon(icon_name, 16, IconLookupFlags::empty()); let icon_info = theme.lookup_icon(icon_name, 16, IconLookupFlags::empty());
icon_info.map(|icon_info| Image::from_pixbuf(icon_info.load_icon().ok().as_ref())) icon_info.map(|icon_info| Image::from_pixbuf(icon_info.load_icon().ok().as_ref()))
}) })
})
} }
/// Attempts to get an image from the item pixmap. /// Attempts to get an image from the item pixmap.