Toon posts:

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

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0Henk 'm!

Anoniem: 142652

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:
  • 0Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 30-04 00:05
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:
  • 0Henk 'm!

Anoniem: 142652

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:
  • 0Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15:47

alienfruit

the alien you never expected

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

Acties:
  • 0Henk 'm!

Anoniem: 37864

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:
  • 0Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Nu online
@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.

Why did the programmer quit his job? - He didn't get arrays.


Acties:
  • 0Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15:47

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


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee