2009-06-23 6 views
0

Ok, eh bien je suis vraiment pousser les limites quant à ce que les chaussures sont ici, donc je ne m'attends pas à des miracles: est-il un moyen de courir éventuellement une application chaussures sans un gui?Aucune option Gui?

La raison pour laquelle je voudrais faire ceci est que je suis en train de créer un outil destiné aux "non-informaticiens", ainsi qu'aux "informaticiens", qui préfèreraient simplement utiliser le programme comme un outil de ligne de commande, peut-être même sur des systèmes sans X/gtk installé. (Je travaille comme chercheur multidisciplinaire, et des chaussures est idéal pour se concentrer sur les outils et pas de jongler avec la conception IUG toute la journée.)

Voici quelques exemples de 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 

qui fonctionne sauf que je reçois un

Gtk-CRITICAL **: gtk_main_quit: assertion `main_loops != NULL' failed 

erreur.

Répondre

1

Je ne l'ai pas essayé, mais je ne sais pas que les chaussures vont même heureusement démarrer sur un système sans X. Vous feriez probablement mieux de créer un script shell qui choisit la version à démarrer. Quelque chose comme ceci:

#!/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 

Si le premier argument est nogui, les arguments restants sont envoyés à la version Ruby, sinon tous les arguments (y compris le premier) sont envoyés à chaussures.

Il vous suffit maintenant de séparer la logique de performance actuelle pour pouvoir l'importer dans les deux versions.

+0

Oui, c'est toujours une option, mais je n'ai pas toutes les finesses d'emballage des chaussures. Ruby, ainsi que les gemmes sur lesquelles repose mon programme, seraient des exigences d'installation. J'ai regardé rubyscript2exe, mais j'espère que les chaussures peuvent le faire mieux (et j'espère ne pas devoir faire face à plusieurs solutions de empaquetage ;-)) Je suppose que ce n'est pas si mal d'exiger des librairies X et gtk , tant que l'application chaussures n'essaie pas de faire apparaître une fenêtre; c'est-à-dire tant que ça ne gêne pas une connexion ssh, je serais heureux. – shawn