#App Start
App Start ist eine kleine offline WebApp die mit Hilfe von Websockets und einer Server Komponente Apps auf einem Mac starten und grundlegend steuern kann.
##Installation
Das Programm ist aufgeteilt in zwei wesentliche Komponenten, server und webapp.
Installation des Programmes mit allen Abhängigkeiten und dem Launch-Deamon erfolgt mittels make und make install.
Dafür muss unbedingt Composer installiert sein.
Um die Website auf den mobilen Geräten zu installieren startet man das Script ./interface das nach dem installationsprozess zur Verfügung steht.
Weitere Anweisungen gibt es dann in der Ausgabe des Programmes.
##Deinstallation
Zum deinstallieren müssen der Ordner gelöscht werden und der launchd-service entfernt. Das geht folgendermaßen:
launchctl stop net.kanedo.AppStart
launchctl unload ~/Library/LaunchAgents/net.kanedo.AppStart.plist
rm ~/Library/LaunchAgents/net.kanedo.AppStart.plist
##Konfiguration ###Start und Stop des Deamons AppStart ist als launchd service eingetragen und startet sich daher beim login automatisch. Sollte es nötig sein das Programm zu stoppen, so öffnet man ein Terminal und gibt folgendes ein:
launchctl stop net.kanedo.AppStart
Zum Anschliessenden starten
launchctl start net.kanedo.AppStart
###Apps
Die erreichbaren Anwendungen werden als JSON in ./server/apps.json konfiguriert.
Das Schema ist wie folgt:
[
{
"name" : "XBMC",
"file" : "\/Applications\/XBMC.app",
"cmd" : "open",
"type" : "script" (optional)
},
...
}
Grundlegend ist es ein Array von Objekten mit folgenden Eigenschaften:
nameAngezeigter NamefilePfad zur Anwendung.cmdTerminal Command zum starten, in der RegelopentypeTyp der Application. Wichtig im Moment nur bei Bash-Scripts die Eigenschaftscript. In dem Fall wird das default icon "applet.png" verwendet.
Das Icon wird aus dem App-Bundle generiert.
###Tmp Ordner
Da die Anwendungsicons nicht jedes mal von neuem generiert werden sollen, werde diese in ./server/tmp gecached. Dazu muss dieser Ordner existieren und von PHP beschreibbar sein.
##Usage Bashscript starten, WebApp auf dem iPad aufrufen. Steuern.
##Requirements
##Dependencies/Libraries
###Mediakeys.py Zur Steuerung von Play/Pause, Next Track, Prev Track etc. wird mediakeys.py von fredrikw verwendet. ###CFPropertyList CFPropertyList ist eine Library um die Info.plist Dateien der Anwendungen zu parsen von Rodney Rehm ###Ratchet Ratchet ist eine Library die mir die Arbeit abnimmt einen Server zu implementieren, der sich um die Websocket-Verbindungen kümmert. ###Bootstrap Bootstrap von Twitter erleichtert mir die UI der Webapp.
###WebApp Icon Das Icon der Webapp kommt von CE0311
##Screenshots
iPad Webapp. Dafür wurde die Software entwickelt.
Abfallprodukt ist, dass die Software auch auf dem iPhone funktioniert.
##Fehler/Bugs/Verbesserungen Wer etwas anzumerken hat, der schreibe doch bitte ein github issue und wer es schnell gefixed wissen möchte und programmieren kann, der sendet mir bitte einen Pull-Request ;-) Das wäre ganz herzig!
##Known issues Die Mediatasten funktionieren leider nur bei iTunes zuverlässig. Bei Spotify und anderen Musikanwendungen funktioniert aber in der Regel Play/Pause. Es ist oft hilfreich, dass Programm vorher noch einmal nach vorn zu holen, damit es sich die Mediakeys "schnappt". Das schafft man durch erneutes "starten" der App.