web-dev-qa-db-ja.com

Mac用のメニューバーアプリケーションを作成する方法

編集:これはすてきな既製のメニューバーアプリケーションです heregithub source )by this answer


メニューバーアプリケーションを作成する方法を知りたいのですが、そのための要件は何ですか?

メニューバーの簡単なアプリケーションは、ブラウザを使用してリンクを開くことでした。これに似たものを作成したいと思います。

enter image description here

これは私が似たようなアプリケーションです。

172
MacMac

NSStatusItem は探しているものです。また、文字列値1のLSUIElementをInfo.plistに追加して、Dockから非表示にします。

132
SteamTrout

Codebox's Popup が素晴らしい出発点であることがわかりました。 Githubで分岐 に適しています

enter image description here

それはうまく機能しますが、彼らは彼らのサイトに注意します...

追伸:Lionでは、AppleがiOSのようなポップオーバー用の新しいクラスを追加しています。そのため、OS X 10.7がリリースされた後、可能であればネイティブのCocoaクラスに依存する方が良いでしょう。それ以外の場合でも、Popupプロジェクトは引き続き使用できるはずです。

66
Alex Gray

BitBarGitHub 上のアプリケーションで、「Mac OS Xメニューバーに何でも入力できます」。

シェルまたはその他の実行可能スクリプト(これは プラグイン-プラグインリポジトリの多くの例を参照 と呼ばれます)を実行し、結果をメニューバーに表示します。独自のプラグインを作成し、「プラグインフォルダー」に追加するだけで実行できます。情報を表示するだけでなく、定義したプラグインメニューから対話的に事前定義されたbashスクリプトを実行することもできます。

この回答を最初に投稿して以来、人気は exploded (現在52人の貢献者)であり、独自のプラグインをパッケージ化できる配布可能なバージョンもあります。

Bitcoinのライブ価格を表示する非常に単純な(非対話型)例:

enter image description here

13
MatzFan

AppleがYosemiteのNSStatusBarButtonNSStatusItemプロパティを追加したため、メニューバーアプリをより簡単に実装できます。 githubでサンプルプロジェクトを作成しました。

https://github.com/taichino/PopupTest

10
taichino

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];
2
funroll

Mail Notifr は、別のオープンソースのメニューバーアプリです。特に、ログイン時にオープンを実装する方法を理解する必要があるとき、それは私を束ねました。 App Store でも利用可能です。

0
lindon fox