編集:これはすてきな既製のメニューバーアプリケーションです here ( github source )by this answer 。
メニューバーアプリケーションを作成する方法を知りたいのですが、そのための要件は何ですか?
メニューバーの簡単なアプリケーションは、ブラウザを使用してリンクを開くことでした。これに似たものを作成したいと思います。
これは私が似たようなアプリケーションです。
NSStatusItem は探しているものです。また、文字列値1のLSUIElementをInfo.plistに追加して、Dockから非表示にします。
Codebox's Popup が素晴らしい出発点であることがわかりました。 Githubで分岐 に適しています
それはうまく機能しますが、彼らは彼らのサイトに注意します...
追伸:Lionでは、AppleがiOSのようなポップオーバー用の新しいクラスを追加しています。そのため、OS X 10.7がリリースされた後、可能であればネイティブのCocoaクラスに依存する方が良いでしょう。それ以外の場合でも、Popupプロジェクトは引き続き使用できるはずです。
BitBar は GitHub 上のアプリケーションで、「Mac OS Xメニューバーに何でも入力できます」。
シェルまたはその他の実行可能スクリプト(これは プラグイン-プラグインリポジトリの多くの例を参照 と呼ばれます)を実行し、結果をメニューバーに表示します。独自のプラグインを作成し、「プラグインフォルダー」に追加するだけで実行できます。情報を表示するだけでなく、定義したプラグインメニューから対話的に事前定義されたbashスクリプトを実行することもできます。
この回答を最初に投稿して以来、人気は exploded (現在52人の貢献者)であり、独自のプラグインをパッケージ化できる配布可能なバージョンもあります。
Bitcoinのライブ価格を表示する非常に単純な(非対話型)例:
AppleがYosemiteのNSStatusBarButton
にNSStatusItem
プロパティを追加したため、メニューバーアプリをより簡単に実装できます。 githubでサンプルプロジェクトを作成しました。
FlyCut は、これを行う別の素晴らしいオープンソースアプリケーションです。 (MITライセンス。)非常に便利です。1日に数回使用しています。
関連性があると思われるコードを次に示します。
// Flycut/AppController.h
IBOutlet NSMenu *jcMenu;
// Flycut/AppController.m
statusItem = [[[NSStatusBar systemStatusBar]
statusItemWithLength:NSVariableStatusItemLength] retain];
[statusItem setHighlightMode:YES];
if ( [[DBUserDefaults standardUserDefaults] integerForKey:@"menuIcon"] == 1 ) {
[statusItem setTitle:[NSString stringWithFormat:@"%C",0x2704]];
} else if ( [[DBUserDefaults standardUserDefaults] integerForKey:@"menuIcon"] == 2 ) {
[statusItem setTitle:[NSString stringWithFormat:@"%C",0x2702]];
} else {
[statusItem setImage:[NSImage imageNamed:@"com.generalarcade.flycut.16.png"]];
}
[statusItem setMenu:jcMenu];
[statusItem setEnabled:YES];
Mail Notifr は、別のオープンソースのメニューバーアプリです。特に、ログイン時にオープンを実装する方法を理解する必要があるとき、それは私を束ねました。 App Store でも利用可能です。