func AddSeparator() {
	addSeparator(atomic.AddInt32(&currentID, 1))
}
AddSeparator adds a separator bar to the menu
package systray
import (
	"runtime"
	"sync"
	"sync/atomic"
	"github.com/getlantern/golog"
)
var (
	hasStarted = int64(0)
	hasQuit    = int64(0)
)
type MenuItem struct {
	ClickedCh chan struct{}
	id int32
	title string
	tooltip string
	disabled bool
	checked bool
}
var (
	log = golog.LoggerFor("systray")
	systrayReady  func()
	systrayExit   func()
	menuItems     = make(map[int32]*MenuItem)
	menuItemsLock sync.RWMutex
	currentID = int32(-1)
)
func Run(onReady func(), onExit func()) {
	runtime.LockOSThread()
	atomic.StoreInt64(&hasStarted, 1)
	if onReady == nil {
		systrayReady = func() {}
	} else {
		readyCh := make(chan interface{})
		go func() {
			<-readyCh
			onReady()
		}()
		systrayReady = func() {
			close(readyCh)
		}
	}
	if onExit == nil {
		onExit = func() {}
	}
	systrayExit = onExit
	nativeLoop()
}
func Quit() {
	if atomic.LoadInt64(&hasStarted) == 1 && atomic.CompareAndSwapInt64(&hasQuit, 0, 1) {
		quit()
	}
}
func AddMenuItem(title string, tooltip string) *MenuItem {
	id := atomic.AddInt32(&currentID, 1)
	item := &MenuItem{nil, id, title, tooltip, false, false}
	item.ClickedCh = make(chan struct{})
	item.update()
	return item
}