Comment créer une application Menubar pour Mac

EDIT: Ceci est une application de barre de menus prête à l’emploi ( source github ) par cette réponse .


Je me demandais comment créer une application de barre de menus, quelles sont les exigences pour cela?

J’ai vu une application simple pour la barre de menu était d’ouvrir des liens en utilisant votre navigateur, je veux créer quelque chose de similaire à cela.

entrer la description de l'image ici

C’est l’application que j’aime rendre similaire.

J’ai trouvé Popup de Codebox comme un excellent sharepoint départ. Il est mûr pour s’emparer de Github.

entrer la description de l'image ici

Bien que cela fonctionne bien, ils notent sur leur site …

PS In Lion, Apple ajoute une nouvelle classe pour les popovers comme dans iOS. Ainsi, après la sortie d’OS X 10.7, vous feriez mieux de compter sur les classes Cocoa natives là où c’est possible. Dans d’autres cas, le projet Popup devrait toujours être utilisable.

Comme Apple a ajouté la propriété NSStatusBarButton à NSStatusItem dans Yosemite, nous pouvons mettre en œuvre une application de barre de NSStatusItem beaucoup plus simple. Je viens de créer un projet exemple sur github.

https://github.com/taichino/PopupTest

BitBar est une application sur GitHub qui peut “mettre n’importe quoi dans votre barre de menu Mac OS X”.

Il exécute des scripts shell ou d’autres scripts exécutables (qu’il appelle Plugins – voir les nombreux exemples dans le référentiel des plugins ) et affiche les résultats dans la barre de menus. Vous pouvez écrire votre propre plug-in et le faire simplement en l’ajoutant au dossier “Plugins”. En plus d’afficher des informations, il peut également exécuter de manière interactive des scripts bash prédéfinis à partir des menus de plug-in que vous définissez.

Depuis que j’ai posté cette réponse pour la première fois, sa popularité a explosé (52 consortingbuteurs actuellement) et il existe même une version dissortingbuable avec laquelle vous pouvez emballer vos propres plugins.

Un exemple très simple (non interactif) pour montrer le prix Bitcoin en direct:

entrer la description de l'image ici

FlyCut est une autre belle application open source qui fait cela. (MIT sous licence.) Très pratique aussi, je l’utilise plusieurs fois par jour.

Voici un code qui semble être pertinent:

  // 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:[NSSsortingng ssortingngWithFormat:@"%C",0x2704]]; } else if ( [[DBUserDefaults standardUserDefaults] integerForKey:@"menuIcon"] == 2 ) { [statusItem setTitle:[NSSsortingng ssortingngWithFormat:@"%C",0x2702]]; } else { [statusItem setImage:[NSImage imageNamed:@"com.generalarcade.flycut.16.png"]]; } [statusItem setMenu:jcMenu]; [statusItem setEnabled:YES]; 

Mail Notifr est une autre application open source Menubar. Cela m’a aidé beaucoup, surtout quand j’avais besoin de comprendre comment mettre en œuvre l’ouverture à la connexion. Egalement disponible sur l’ App Store .