diff --git a/src/Avalonia.FreeDesktop/DBusMenuExporter.cs b/src/Avalonia.FreeDesktop/DBusMenuExporter.cs index 17affe09a3..e93ca64d3a 100644 --- a/src/Avalonia.FreeDesktop/DBusMenuExporter.cs +++ b/src/Avalonia.FreeDesktop/DBusMenuExporter.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Collections.Specialized; +using System.IO; using System.Reactive.Disposables; using System.Threading.Tasks; using Avalonia.Controls; @@ -184,7 +185,7 @@ namespace Avalonia.FreeDesktop private static string[] AllProperties = new[] { - "type", "label", "enabled", "visible", "shortcut", "toggle-type", "children-display", "toggle-state" + "type", "label", "enabled", "visible", "shortcut", "toggle-type", "children-display", "toggle-state", "icon-data" }; object GetProperty((NativeMenuItemBase item, NativeMenu menu) i, string name) @@ -248,6 +249,16 @@ namespace Avalonia.FreeDesktop return item.IsChecked ? 1 : 0; } + if (name == "icon-data") + { + if (item.Icon != null) + { + var ms = new MemoryStream(); + item.Icon.Save(ms); + return ms.ToArray(); + } + } + if (name == "children-display") return menu != null ? "submenu" : null; }