Created
March 13, 2016 18:57
Revisions
-
uchcode created this gist
Mar 13, 2016 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,57 @@ #!/usr/bin/osascript -l JavaScript ObjC.import('Cocoa') app = Application.currentApplication() app.includeStandardAdditions = true ObjC.registerSubclass({ name: 'MenuAction', methods: { 'sayHello:': { types: ['void', ['id']], implementation: function(sender) { app.displayAlert('hello world') } }, 'quit:': { types: ['void', ['id']], implementation: function(sender) { $.NSApp.terminate(this) } } } }) function Menu() { target = $.MenuAction.alloc.init menu = $.NSMenu.alloc.init miSayHello = $.NSMenuItem.alloc.init miSayHello.title = 'Hello from JXA!' miSayHello.target = target miSayHello.action = 'sayHello:' menu.addItem(miSayHello) miQuit = $.NSMenuItem.alloc.init miQuit.setTitle('Quit') miQuit.setTarget(target) miQuit.setAction('quit:') menu.addItem(miQuit) return menu } function StatusBar(title, menu) { statusBar = $.NSStatusBar.systemStatusBar statusItem = statusBar.statusItemWithLength($.NSVariableStatusItemLength) statusItem.title = title statusItem.menu = menu } nsapp = $.NSApplication.sharedApplication StatusBar('Statusbar App in JXA', Menu()) nsapp.run