Adobe AIR & Mac OS X: tonen van icoon in menu bar?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil Adobe AIR gebruiken voor een utility dat beschikbaar moet komen voor meerdere platformen. Om ontwikkelingstijd te besparen lijkt me dit geen verkeerde keuze.

Nu heb ik enkele eisen waarvan de volgende vrij belangrijk is:

Ik wil de applicatie alleen tonen in de menu bar van Mac OS X (naast spotlight, klok, etc.) en dus NIET in de dock.

Is dit mogelijk? Heb gegoogled maar kon weinig info vinden. De enige info komt uit 2009 en toen kon het dus schijnbaar nog niet...

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Nee kan niet. De menu bar in Mac OS X kan niet zo makkelijk verkracht worden als in Windows. Het heten menu extra's, en zijn via de publieke API nouwelijks aan te sturen. Er is wel een geheime API die officieel alleen intern gebruikt wordt en ook niet ondersteund wordt door Apple voor externe software.

Sommige ontwikkelaars lossen het op door ergens een venster van 0x0 pixels buiten het zichtbare scherm te parkeren en dan een plaatje te drawen op de plek waar ze graag hun menu extra hadden willen hebben. Dat is natuurlijk een smerige hack achtige oplossing. Niet aan te raden.

Wat op Mac OS X gebruikelijker is, is een gewoon een programma zonder venster draaien. Op windows is dat meestal minder mogelijk, maar op Mac OS X kan je gewoon je applicatie laten draaien terwijl er geen zichtbaar venster is. Dan kan je icon badges gebruiken in het Dock voor user notification, of growl, dat kan ook.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat jij bedoelt is dus dat je gewoon een nieuw venster maakt in het menu balk? Lijkt me inderdaad een behoorlijke smerige oplossing aangezien je niet eens weet welke positie dit venster moet komen (met name horizontale positie).

Jammer dat het niet kan, met Xcode kan het wel makkelijk :(. Dit soort dingen laten mij toch altijd twijfelen om dan maar extra tijd in native apps te steken met SDK's van het besturingssysteem zelf, helaas.

Thanks voor je reactie :)

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 10-09 18:14

alienfruit

the alien you never expected

Gewoon simpel shell applicatie bouwen en middels sockets communiceren met je AIR applicatie.

Acties:
  • 0 Henk 'm!

Verwijderd

Mac gebruikers zijn een apart soort mensen. Zij zien het direct als een applicatie niet native is, en gaan erover klagen op forums, twitter en bij hun vrienden. Als je iets moois maakt daarentegen, wat zich goed houdt aan de op OSX geldende standaarden en conventies, dan spreken ze vol lof over je software en hebben er vaak zelfs geld voor over :P

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 21:48
@Hierboven: Niet native applicaties, inderdaad brrr.

@Johnkaetes: volgens mij zijn er binnen Cocoa gewoon API's ervoor? Er zijn immers veel applicaties die daar kunnen staan, bijvoorbeeld Skype, Dropbox of SparrowApp.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 10-09 18:14

alienfruit

the alien you never expected

Ja, maar die APIs kan je niet gebruiken in Adobe AIR. Daarvoor moet je dus een eigen shell applicatie maken die via sockets een seintje geeft aan je AIR applicatie dat de gebruiker op een menu item heeft geklikt.

offtopic:
Verder zijn er behoorlijk brakke native applicaties zoals de laatst Skype versie
Pagina: 1