2009-06-23 13 views
0

Ok, nun, ich schieb wirklich die Grenzen, was Schuhe für hier bedeutet, also erwarte ich keine Wunder: Gibt es eine Möglichkeit, eine Schuh-App ohne a gui auszuführen?Keine Gui Option?

Der Grund, warum ich das tun möchte, ist, ich erstelle ein Werkzeug für "Nicht-Computer-Leute", sowie "Computer-Leute", die lieber das Programm als Kommandozeilen-Tool ausführen würden, vielleicht sogar auf Systemen ohne X/gtk installiert. (Ich arbeite als multidisziplinäre Forscher und Schuhe ist für auf Tools konzentrieren und nicht mit GUI-Design den ganzen Tag das Hantieren.)

Hier einige Beispiel-Code:

if(ARGV[1] == "nogui") 
    puts "running computation on #{ARGV[2]}"; 
    exit(); 
end 

Shoes.app(:width => 200, :height => 100) do 
    @button = button("Quit").click() { 
    exit(); 
    } 
end 

die funktioniert, außer ich ein

erhalten

Fehler.

Antwort

1

Ich habe es nicht ausprobiert, aber ich weiß nicht, dass Shoes auch auf einem System ohne X starten wird. Es ist wahrscheinlich besser, ein Shell-Skript zu erstellen, das die zu startende Version auswählt. Etwas wie folgt aus:

#!/usr/bin/sh 
NOGUI=0 
if [ $# -gt 0 ]; then 
    NOGUI=$1 
fi 
if [ $NOGUI = nogui ]; then 
    shift 
    echo "Running in command-line mode..." 
    ruby command-line.rb "[email protected]" 
else 
    echo "Starting Shoes..." 
    shoes shoes.rb "[email protected]" 
fi 

Wenn das erste Argument nogui ist, werden die restlichen Argumente an die Ruby-Version geschickt, sonst alle Argumente (einschließlich des ersten) werden zu den Schuhen geschickt.

Jetzt müssen Sie nur die eigentliche Leistungslogik trennen, damit sie in beide Versionen importiert werden kann.

+0

Ja, das ist immer eine Option, aber dann habe ich nicht alle Verpackungsnuancen von Schuhen. Ruby, sowie die Edelsteine, die mein Programm benötigt, wären Installationsanforderungen. Ich habe mir rubyscript2exe angeschaut, aber ich hoffe, dass Schuhe es besser machen können (und ich hoffe, dass ich nicht mit mehreren Verpackungslösungen klarkommen muss ;-)) Ich denke, es ist nicht so schlimm, X- und GTK-Bibliotheken zu benötigen , solange die Schuhe-App nicht wirklich versucht, ein Fenster zu öffnen; dh solange es nicht über eine ssh-Verbindung erstickt, wäre ich glücklich. – shawn

Verwandte Themen