回答:
AppleScript内からCocoa Objective-C呼び出しを使用する方法について説明するこのスレッドから始めることをお勧めします。ここにサンプルXcodeプロジェクトがあります。
そして、打ち上げは、機能的にこれを行うのAppleScriptで書かれた完全なアプリケーションです。そのXcodeプロジェクトファイルはこちらです。
基本的な前提は、NSMenuItemインスタンスを生成し、それらをシステムのNSStatusBarに追加することです。
set statusMenu to (NSMenu's alloc)'s initWithTitle_("Launch")
-- (build and do stuff with the statusMenu here)
set sysStatusBar to NSStatusBar's systemStatusBar
set statusItem to sysStatusBar's statusItemWithLength_(32)
tell statusItem to setMenu_(statusMenu)
tell statusItem to setHighlightMode_(1)
set menuImage to NSImage's imageNamed_("icon.png")
tell statusItem to setImage_(menuImage)
LaunchのソースコードからのAppleScriptの抜粋、著作権©Lee Hanken
さて、私はこのためのアプリを作りました。GitHubにあります:0942v8653 / ScriptableStatusBar。アプリを実行し続け、sbar
ツールを使用してアイテムを設定および削除するだけです。
readmeにあるように:
sbar set face 😃 'Bye!:sbar remove face'
ステータスバーに顔を作成します。メニューには、作成したメニューを削除しBye!
て実行するオプションがありますsbar remove face
。
コンパイル済みバージョンはhttps://github.com/0942v8653/ScriptableStatusBar/releasesからダウンロードできます。
RubyCocoaを使用することもできます。
require "osx/cocoa"
include OSX
app = NSApplication.sharedApplication
statusitem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
statusitem.setTitle("aa")
app.run
もう1つのオプションは、Rumpsを使用することです。Rumpsは、Obj-Cのクラスと関数を使用するPythonライブラリです。