diff --git a/README.md b/README.md
index 5f69f65..47249d9 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ go get github.com/machinebox/appify
appify -name "My Go Application" -icon ./icon.png /path/to/bin
```
-It will create a macOS Application.
+This will create a regular macOS Application, the `-menubar` flag can be set to create a menu bar only app.
## What next?
diff --git a/main.go b/main.go
index ed63160..f4d947d 100644
--- a/main.go
+++ b/main.go
@@ -25,11 +25,12 @@ func main() {
func run() error {
var (
- name = flag.String("name", "My Go Application", "app name")
- author = flag.String("author", "Appify by Machine Box", "author")
- version = flag.String("version", "1.0", "app version")
- identifier = flag.String("id", "", "bundle identifier")
- icon = flag.String("icon", "", "icon image file (.icns|.png|.jpg|.jpeg)")
+ name = flag.String("name", "My Go Application", "app name")
+ author = flag.String("author", "Appify by Machine Box", "author")
+ version = flag.String("version", "1.0", "app version")
+ identifier = flag.String("id", "", "bundle identifier")
+ icon = flag.String("icon", "", "icon image file (.icns|.png|.jpg|.jpeg)")
+ menubaronly = flag.Bool("menubar", false, "Make a menu bar only app")
)
flag.Parse()
args := flag.Args()
@@ -78,6 +79,7 @@ func run() error {
Version: *version,
InfoString: *name + " by " + *author,
ShortVersionString: *version,
+ MenuBarOnly: *menubaronly,
}
if *icon != "" {
iconPath, err := prepareIcons(*icon, resouresPath)
@@ -151,6 +153,7 @@ type infoListData struct {
InfoString string
ShortVersionString string
IconFile string
+ MenuBarOnly bool
}
const infoPlistTemplate = `
@@ -177,6 +180,12 @@ const infoPlistTemplate = `
CFBundleIconFile
{{ .IconFile }}
{{- end }}
+ NSHighResolutionCapable
+
+ {{ if .MenuBarOnly -}}
+ LSUIElement
+
+ {{- end }}
`