Aller au contenu principal

Ligne de Commande

Référence complète des options en ligne de commande.

rayforge [options] [fichiers...]

Arguments positionnels

ArgumentDescription
fichiersFichiers SVG ou image au lancement.

Options

OptionDescription
--versionAfficher la version et quitter.
-h, --helpAfficher l'aide et quitter.
--loglevel NIVEAUNiveau de journalisation. Défaut : INFO.
--config RÉPRépertoire de configuration personnalisé.
--exitQuitter après l'import.
--vectorForcer l'import en vecteurs directs.
--traceForcer l'import par traçage bitmap.
--script SCRIPTScript de démarrage précoce.
--uiscript SCRIPTScript UI (post-chargement).

Exemples

Ouvrir un fichier

rayforge monprojet.ryp

Ouvrir plusieurs fichiers

rayforge piece1.svg logo.png conception.ryp

Importer avec traçage

rayforge --trace photo.png

Exécuter un script précoce et quitter

rayforge --exit --script enregistrer.py \
monprojet.ryp

Script UI (automatisation)

rayforge --exit --uiscript screenshot.py \
monprojet.ryp

Traitement par lots

rayforge --exit --vector entree.svg

Scripts précoces (--script)

L'option --script exécute un script Python de manière synchrone au démarrage, avant le chargement des modules et avant la création de la fenêtre principale. Utile pour :

  • Enregistrer des plugins avec le gestionnaire pluggy
  • Configurer le contexte de l'application
  • Enregistrer des fonctions de modèle pour les zones de texte
  • Définir des variables d'environnement avant le démarrage

Le script a accès au contexte via get_context() :

from rayforge.context import get_context

ctx = get_context()

Exemple : Enregistrer une fonction de modèle

"""Enregistrer une fonction pour les modèles de texte.

Exécuter avec : rayforge --script enregistrer_fn.py
"""
from sketcher.core.template_functions import (
register_template_function,
)

register_template_function("mon_id", lambda: "PIECE-001")

Maintenant {mon_id()} fonctionne dans toute zone de texte.

Voir Fonctions de modèle personnalisées dans la documentation du sketcher pour un tutoriel complet.


Scripts UI (--uiscript)

L'option --uiscript exécute un script Python après le chargement complet de la fenêtre principale, dans un thread en arrière-plan. Utile pour :

  • Tests UI automatisés
  • Captures d'écran de l'application
  • Flux de travail de bout en bout

Le script peut importer l'application et la fenêtre directement :

from rayforge.uiscript import app, win

Le script s'exécute dans un thread en arrière-plan — sois attentif à la sécurité des threads lors de l'accès aux widgets GTK (utilise GLib.idle_add pour les opérations GTK).

Exemple : Capturer une capture d'écran

"""Capturer la fenêtre principale."""
from rayforge.uiscript import app, win

import gi
gi.require_version("Gtk", "4.0")
from gi.repository import GLib

def capture():
surface = win.get_surface()
if surface:
surface.write_to_png("/tmp/rayforge_screenshot.png")
return GLib.SOURCE_REMOVE

GLib.idle_add(capture)

Utiliser les deux options

--script et --uiscript peuvent être utilisés ensemble. Le --script s'exécute en premier (de manière synchrone), puis la fenêtre se charge, et ensuite --uiscript s'exécute :

rayforge --script setup_precoce.py \
--uiscript automatisation.py \
monprojet.ryp

C'est utile quand tu dois enregistrer des plugins en premier et ensuite contrôler l'interface plus tard.