mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
[v3 linux] dbus menu icon support
This commit is contained in:
@@ -48,6 +48,8 @@ func main() {
|
||||
}
|
||||
|
||||
myMenu := app.NewMenu()
|
||||
myMenu.Add("Wails").SetBitmap(icons.WailsLogoBlackTransparent).SetEnabled(false)
|
||||
|
||||
myMenu.Add("Hello World!").OnClick(func(ctx *application.Context) {
|
||||
println("Hello World!")
|
||||
q := application.QuestionDialog().SetTitle("Ready?").SetMessage("Are you feeling ready?")
|
||||
|
||||
@@ -56,6 +56,11 @@ type systrayMenuItem struct {
|
||||
dbusItem *dbusMenu
|
||||
}
|
||||
|
||||
func (s *systrayMenuItem) setBitmap(data []byte) {
|
||||
s.dbusItem.V1["icon-data"] = dbus.MakeVariant(data)
|
||||
s.sysTray.update(s)
|
||||
}
|
||||
|
||||
func (s *systrayMenuItem) setTooltip(v string) {
|
||||
s.dbusItem.V1["tooltip"] = dbus.MakeVariant(v)
|
||||
s.sysTray.update(s)
|
||||
@@ -129,6 +134,9 @@ func (s *linuxSystemTray) processMenu(menu *Menu, parentId int32) {
|
||||
if item.label != "" {
|
||||
menuItem.V1["label"] = dbus.MakeVariant(item.label)
|
||||
}
|
||||
if item.bitmap != nil {
|
||||
menuItem.V1["icon-data"] = dbus.MakeVariant(item.bitmap)
|
||||
}
|
||||
switch item.itemType {
|
||||
case checkbox:
|
||||
menuItem.V1["toggle-type"] = dbus.MakeVariant("checkmark")
|
||||
@@ -446,6 +454,13 @@ func (s *linuxSystemTray) createPropSpec() map[string]map[string]*prop.Prop {
|
||||
Emit: prop.EmitTrue,
|
||||
Callback: nil,
|
||||
},
|
||||
"IconData": {
|
||||
Value: "",
|
||||
Writable: false,
|
||||
Emit: prop.EmitTrue,
|
||||
Callback: nil,
|
||||
},
|
||||
|
||||
"IconName": {
|
||||
Value: "",
|
||||
Writable: false,
|
||||
|
||||
Reference in New Issue
Block a user