Skip to content

ipv6rslimited/tray

Repository files navigation

Tray for golang

Tray provides a GUI system tray for your application, dynamically generated and updated from a JSON file.

Screenshot

Tray

This was generated from:

{
  "icon": "path/to/tray/icon.png",
  "title": "My Tray App",
  "items": [
    {
      "title": "Open Editor",
      "exec": "gedit",
      "icon": "DocumentIcon"
    },
    {
      "title": "Utilities",
      "items": [
        {
          "title": "Calculator",
          "exec": "gnome-calculator",
          "icon": "ContentAddIcon"
        }
      ]
    }
  ]
}

Features

  • Custom System Tray icon in Mac, windows and Linux generated from a JSON

  • Updates the tray menu based on the JSON file updates (watches the JSON file)

  • Super small binary when compiled.

Use Case

  • We wanted to provide a super simple way for people to run shell commands. This + Configurator does the trick.

  • This was to help people who use IPv6rs as well as anyone who needs a system tray, period.

Example

  • See the test folder to see how to use the Tray

  • Build the tray-test by typing:

cd test
go run test.go config.json

License

Distributed under the COOL License.

Copyright (c) 2024 IPv6.rs https://ipv6.rs All Rights Reserved

About

Generate a system tray menu from a JSON file.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages