Skip to content

cross-platform library for sending desktop notifications

License

Notifications You must be signed in to change notification settings

electricbubble/go-toast

Repository files navigation

Golang-Toast

license

cross-platform library for sending desktop notifications

Installation

go get github.com/electricbubble/go-toast

Example

  • Common invocation

    package main
    
    import (
        "github.com/electricbubble/go-toast"
    )
    
    func main() {
        // _ = toast.Push("test message")
        _ = toast.Push("test message", toast.WithTitle("app title"))
    }
  • macOS

    package main
    
    import (
        "github.com/electricbubble/go-toast"
    )
    
    func main() {
        // _ = toast.Push("test message")
        // _ = toast.Push("test message", toast.WithTitle("app title"))
        _ = toast.Push("test message",
            toast.WithTitle("app title"),
            toast.WithSubtitle("app sub title"),
            toast.WithAudio(toast.Ping),
            // toast.WithObjectiveC(true),
        )
    }
  • Windows

    package main
    
    import (
        "github.com/electricbubble/go-toast"
    )
    
    func main() {
        // _ = toast.Push("test message")
        // _ = toast.Push("test message", toast.WithTitle("app title"))
        _ = toast.Push("test message",
            toast.WithTitle("app title"),
            toast.WithAppID("app id"),
            toast.WithAudio(toast.Default),
            toast.WithLongDuration(),
            toast.WithIcon("/path/icon.png"),
        )
        // bs, err := os.ReadFile("/path/icon.png")
        // if err != nil {
        // 	log.Fatalln(err)
        // }
        // toast.WithIconRaw(bs)
    }
  • js && wasm

    package main
    
    import (
        "fmt"
        "github.com/electricbubble/go-toast"
    )
    
    func main() {
        // _ = toast.Push("test message")
        // _ = toast.Push("test message", toast.WithTitle("app title"))
        _ = toast.Push("test_message",
            toast.WithTitle("GO-WASM-APP"),
            toast.WithOnClick(func(event interface{}) {
                fmt.Println("click")
            }),
            toast.WithOnClose(func() {
                fmt.Println("close")
            }),
            toast.WithOnShow(func() {
                fmt.Println("show")
            }),
        )
    }
      

Thanks

Thank you JetBrains for providing free open source licenses


Repository Description
go-toast/toast A go package for Windows 10 toast notifications
fyne-io/fyne Cross platform GUI in Go inspired by Material Design
gen2brain/beeep Go cross-platform library for sending desktop notifications, alerts and beeps
julienXX/terminal-notifier Send User Notifications on macOS from the command-line.
variadico/noti Monitor a process and trigger a notification.