Como criar um aplicativo Menubar para Mac

EDIT: Esta é uma aplicação de barra de menus pronta aqui ( fonte do github ) por esta resposta .


Eu queria saber como fazer um aplicativo de menu, quais são os requisitos para isso?

Eu vi um aplicativo simples para a barra de menu foi abrir links usando seu navegador, eu quero criar algo semelhante a isso.

insira a descrição da imagem aqui

Esta é a aplicação que eu gosto de fazer semelhante.

NSStatusItem é o que você está procurando. Além disso, adicione LSUIElement com valor de string de 1 ao seu Info.plist para ocultá-lo do Dock.

Eu encontrei o Popup do Codebox como um ótimo ponto de partida. Está pronto para se bifurcar no Github.

insira a descrição da imagem aqui

Embora funcione bem, eles notam em seu site …

PS No Lion, a Apple está adicionando uma nova class para popovers como no iOS. Então, depois que o OS X 10.7 for lançado, é melhor você confiar nas classs nativas do Cocoa onde for possível. Em outros casos, o projeto Popup ainda deve ser utilizável.

Como a Apple adicionou a propriedade NSStatusBarButton ao NSStatusItem em Yosemite, podemos implementar o aplicativo menubar muito mais simples. Acabei de criar um projeto de amostra no github.

https://github.com/taichino/PopupTest

O BitBar é um aplicativo no GitHub que pode “colocar qualquer coisa na barra de menus do Mac OS X”.

Ele executa shell ou outros scripts executáveis ​​(que chama de Plugins – veja os vários exemplos no repository de plug-ins ) e exibe os resultados na barra de menus. Você pode escrever seu próprio plugin e executá-lo simplesmente adicionando-o à “pasta Plugins”. Além de exibir informações, ele também pode executar scripts bash predefinidos de forma interativa a partir dos menus de plug-in que você define.

Desde que publiquei esta resposta pela primeira vez, sua popularidade explodiu (52 contribuidores atualmente) e agora existe até uma versão distribuível com a qual você pode empacotar seus próprios plugins.

Um exemplo muito simples (não interativo) para mostrar o preço ao vivo do Bitcoin:

insira a descrição da imagem aqui

O FlyCut é outro ótimo aplicativo de código aberto que faz isso. (MIT licenciado.) Muito útil também, eu uso várias vezes ao dia.

Aqui está um código que parece ser relevante:

  // 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 é outro aplicativo de código aberto Menubar . Isso me ajudou um monte, especialmente quando eu precisava descobrir como implementar o aberto no login. Também disponível na App Store .