code: func GetCapabilities() (c Capabilities, err error) {
  	conn, err := dbus.SessionBus()
  	if err != nil {
  		return
  	}
  
  	obj := conn.Object(DbusInterfacePath, DbusObjectPath)
  	call := obj.Call(CallGetCapabilities, 0)
  	if err = call.Err; err != nil {
  		return
  	}
  
  	s := []string{}
  	if err = call.Store(&s); err != nil {
  		return
  	}
  
  	for _, v := range s {
  		switch v {
  		case "action-icons":
  			c.ActionIcons = true
  			break
  		case "actions":
  			c.Actions = true
  			break
  		case "body":
  			c.Body = true
  			break
  		case "body-hyperlinks":
  			c.BodyHyperlinks = true
  			break
  		case "body-images":
  			c.BodyImages = true
  			break
  		case "body-markup":
  			c.BodyMarkup = true
  			break
  		case "icon-multi":
  			c.IconMulti = true
  			break
  		case "icon-static":
  			c.IconStatic = true
  			break
  		case "persistence":
  			c.Persistence = true
  			break
  		case "sound":
  			c.Sound = true
  			break
  		}
  	}
  	return
  }
docs: // GetCapabilities returns the capabilities of the notification server.