diff --git a/cmd/zenity/main.go b/cmd/zenity/main.go index e3a73ca..994dd99 100644 --- a/cmd/zenity/main.go +++ b/cmd/zenity/main.go @@ -70,10 +70,10 @@ var ( username bool // List options - columns int - checklist bool - radiolist bool - allowEmpty bool + columns int + checklist bool + radiolist bool + disallowEmpty bool // Calendar options year uint @@ -242,7 +242,7 @@ func parseFlags() []string { fset.Bool("hide-header", true, "Hide the column headers") fset.BoolVar(&checklist, "checklist", false, "Use check boxes for the first column (Unix only)") fset.BoolVar(&radiolist, "radiolist", false, "Use radio buttons for the first column (Unix only)") - fset.BoolVar(&allowEmpty, "allow-empty", true, "Allow empty selection (macOS only)") + fset.BoolVar(&disallowEmpty, "disallow-empty", false, "Disallow empty selection (Windows and macOS only)") // Calendar options fset.UintVar(&year, "year", 0, "Set the calendar `year`") @@ -538,7 +538,7 @@ func loadFlags() []zenity.Option { if radiolist { opts = append(opts, zenity.RadioList()) } - if !allowEmpty { + if disallowEmpty { opts = append(opts, zenity.DisallowEmpty()) } diff --git a/date_darwin.go b/date_darwin.go index 03da0d5..2c9954e 100644 --- a/date_darwin.go +++ b/date_darwin.go @@ -25,9 +25,6 @@ func calendar(text string, opts options) (t time.Time, err error) { } else { data.Text = text } - if opts.attach != nil { - data.Application = opts.attach - } if i, ok := opts.windowIcon.(string); ok { data.WindowIcon = i } diff --git a/go.mod b/go.mod index 03dc14f..fe06526 100644 --- a/go.mod +++ b/go.mod @@ -8,8 +8,8 @@ require ( github.com/ncruces/go-strftime v0.1.8 github.com/randall77/makefat v0.0.0-20210315173500-7ddd0e42c844 go.uber.org/goleak v1.2.0 // test - golang.org/x/image v0.1.0 - golang.org/x/sys v0.2.0 + golang.org/x/image v0.2.0 + golang.org/x/sys v0.3.0 ) require ( diff --git a/go.sum b/go.sum index 0b17048..a013e84 100644 --- a/go.sum +++ b/go.sum @@ -21,8 +21,8 @@ go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/image v0.1.0 h1:r8Oj8ZA2Xy12/b5KZYj3tuv7NG/fBz3TwQVvpJ9l8Rk= -golang.org/x/image v0.1.0/go.mod h1:iyPr49SD/G/TBxYVB/9RRtGUT5eNbo2u4NamWeQcD5c= +golang.org/x/image v0.2.0 h1:/DcQ0w3VHKCC5p0/P2B0JpAZ9Z++V2KOo2fyU89CXBQ= +golang.org/x/image v0.2.0/go.mod h1:la7oBXb9w3YFjBqaAwtynVioc1ZvOnNteUNrifGNmAI= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= @@ -39,16 +39,14 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= diff --git a/internal/zenutil/osa_generated.go b/internal/zenutil/osa_generated.go index a3081d2..ddb84f9 100644 --- a/internal/zenutil/osa_generated.go +++ b/internal/zenutil/osa_generated.go @@ -23,23 +23,26 @@ $.exit(-1)} {'rgb('+res.map(x=>Math.round(x*255))+')'} {{- end}} {{define "common" -}} +{{if .WindowIcon}}{ObjC.import('Cocoa') +let nsapp=$.NSApplication.sharedApplication +let nsimg=$.NSImage.alloc.initWithContentsOfFile({{json .WindowIcon}}) +nsapp.setActivationPolicy($.NSApplicationActivationPolicyRegular) +nsapp.setApplicationIconImage(nsimg)}{{end}} {{- if .Application}} try{var app=Application({{json .Application}})}catch{var app=Application.currentApplication()} {{- else}} var app=Application.currentApplication() {{- end}} app.includeStandardAdditions=true -{{if .WindowIcon}}{ObjC.import('Cocoa') -let nsapp=$.NSApplication.sharedApplication -let nsimg=$.NSImage.alloc.initWithContentsOfFile({{json .WindowIcon}}) -nsapp.setActivationPolicy($.NSApplicationActivationPolicyRegular) -nsapp.setApplicationIconImage(nsimg)}{{end}} +app.activate() {{- end}} {{define "date" -}} ObjC.import('Cocoa') ObjC.import('stdio') ObjC.import('stdlib') {{template "common" .}} +var nsapp=$.NSApplication.sharedApplication +nsapp.setActivationPolicy($.NSApplicationActivationPolicyAccessory) var date=$.NSDatePicker.alloc.init date.setDatePickerStyle($.NSDatePickerStyleClockAndCalendar) date.setDatePickerElements($.NSDatePickerElementFlagYearMonthDay) diff --git a/internal/zenutil/osascripts/common.gojs b/internal/zenutil/osascripts/common.gojs index 4593fdb..12034ad 100644 --- a/internal/zenutil/osascripts/common.gojs +++ b/internal/zenutil/osascripts/common.gojs @@ -1,3 +1,11 @@ +{{if .WindowIcon}}{ + ObjC.import('Cocoa') + let nsapp = $.NSApplication.sharedApplication + let nsimg = $.NSImage.alloc.initWithContentsOfFile({{json .WindowIcon}}) + nsapp.setActivationPolicy($.NSApplicationActivationPolicyRegular) + nsapp.setApplicationIconImage(nsimg) +}{{end}} + {{- if .Application}} try { var app = Application({{json .Application}}) @@ -8,11 +16,4 @@ var app = Application.currentApplication() {{- end}} app.includeStandardAdditions = true - -{{if .WindowIcon}}{ - ObjC.import('Cocoa') - let nsapp = $.NSApplication.sharedApplication - let nsimg = $.NSImage.alloc.initWithContentsOfFile({{json .WindowIcon}}) - nsapp.setActivationPolicy($.NSApplicationActivationPolicyRegular) - nsapp.setApplicationIconImage(nsimg) -}{{end}} \ No newline at end of file +app.activate() \ No newline at end of file diff --git a/internal/zenutil/osascripts/date.gojs b/internal/zenutil/osascripts/date.gojs index 4cf2f5a..c457c8c 100644 --- a/internal/zenutil/osascripts/date.gojs +++ b/internal/zenutil/osascripts/date.gojs @@ -1,6 +1,8 @@ ObjC.import('Cocoa') ObjC.import('stdio') ObjC.import('stdlib') +var nsapp = $.NSApplication.sharedApplication +nsapp.setActivationPolicy($.NSApplicationActivationPolicyAccessory) {{template "common" .}} var date = $.NSDatePicker.alloc.init diff --git a/progress_darwin.go b/progress_darwin.go index eb520a2..0c16700 100644 --- a/progress_darwin.go +++ b/progress_darwin.go @@ -19,9 +19,6 @@ func progress(opts options) (ProgressDialog, error) { if opts.maxValue >= 0 { data.Total = &opts.maxValue } - if opts.attach != nil { - data.Application = opts.attach - } if i, ok := opts.windowIcon.(string); ok { data.WindowIcon = i }