10.6. Το υπομενού «Script-Fu»

Αυτό το υπομενού περιέχει μερικές εντολές Script-Fu, ειδικά της κονσόλας Script-Fu. Script-Fu είναι μια γλώσσα για γράψιμο σεναρίων, που σας επιτρέπει να τρέξετε μια σειρά εντολών του GIMP αυτόματα.

10.6.1. Ενεργοποίηση του υπομενού

  • You can access this command from the main menu through FiltersDevelopmentScript-Fu.

10.6.2. Ανανέωση σεναρίων

Θα χρειαστείτε αυτήν την εντολή κάθε φορά που προσθέτετε, μετακινείτε ή αλλάζετε ένα σενάριο Script-Fu. Η εντολή προκαλεί τα Script-Fus να ξαναφορτωθούν και τα μενού που περιέχουν Script-Fus να ξαναφτιαχτούν από την αρχή. Εάν δεν χρησιμοποιείτε αυτήν την εντολή, το GIMP δεν θα σημειώσει τις αλλαγές σας μέχρι να ξαναξεκινήσετε.

Σημειώστε ότι δεν θα πάρετε ανατροφοδότηση, εκτός από αποθήκευση, εάν ένα από τα σενάρια σας αποτύχει.

10.6.3. Κονσόλα Script-Fu

Η κονσόλα Script-Fu είναι ένας παράθυρο διαλόγου όπου μπορείτε διαδραστικά να ελέγξετε τις εντολές Scheme.

The console consists of a large scrollable main window for output and a text box at the bottom to enter Scheme commands. When you type a Scheme statement and then press the Enter key, the command and its return value will be displayed in the main window.

Σχήμα 16.249. Η κονσόλα Script-Fu

Η κονσόλα Script-Fu

Θα βρείτε περισσότερες πληροφορίες για το Scheme και παραδείγματα χρήσης στο κονσόλα Script-Fu στο Τμήμα 3, «Μάθημα Script-Fu».

Τα κουμπιά της κονσόλας Script-Fu

Περιήγηση

The Browse button is next to the Scheme commands text box. When clicked, the procedure browser window opens with an additional Apply button.

Select a PDB procedure from the list and press the Apply button. The selected procedure and its parameter names will be pasted into the text box of the Script Console.

Now you just have to replace the parameter names after the procedure name with actual values. Then you can call the procedure by pressing Enter.

Κλείσιμο

Πάτημα αυτού του κουμπιού κλείνει την κονσόλα Script-Fu.

Καθαρισμός

Άμα πατήσετε αυτό το πλήκτρο, το περιεχόμενο του κυρίως παραθύρου θα αφαιρεθεί. Σημειώστε ότι δε μπορείτε να πάρετε πίσω το αφαιρεμένο περιεχόμενο χρησιμοποιώντας την εντολή αποθήκευση.

Αποθήκευση

Αυτή η εντολή σας επιτρέπει να αποθηκεύσετε το περιεχόμενο του κύριου παραθύρου, δηλαδή την έξοδο κονσόλας του Script-Fu (συμπεριλαμβάνοντας τους χαρακτήρες «>»).

10.6.4. Εκκίνηση εξυπηρετητή

Αυτή η εντολή θα ξεκινήσει έναν εξυπηρετητή, που διαβάζει και εκτελεί προτάσεις Script-Fu (Scheme) που του στείλατε μέσα από μια καθορισμένη θύρα.

Σχήμα 16.250. Οι επιλογές εξυπηρετητή Script-Fu

Οι επιλογές εξυπηρετητή Script-Fu

Θύρα εξυπηρετητή

Ο αριθμός θύρας που ο εξυπηρετητής Script-Fu θα ακούσει. Είναι δυνατό να ξεκινήσετε περισσότερους από έναν εξυπηρετητές, καθορίζοντας διαφορετικούς αριθμούς θύρας, φυσικά.

Αρχείο ημερολογίου εξυπηρετητή

Προαιρετικά μπορείτε να καθορίσετε το όνομα του αρχείου που ο εξυπηρετητής θα χρησιμοποιήσει για καταγραφή μη τυπικών και μηνυμάτων σφάλματος. Εάν δεν καθοριστεί αρχείο, τα μηνύματα θα γραφτούν στην κανονική έξοδο.

Το πρωτόκολλο εξυπηρετητή Script-Fu

Το χρησιμοποιούμενο πρωτόκολλο για επικοινωνία με τον εξυπηρετητή Script-Fu είναι πολύ απλό:

  • Kάθε μήνυμα (πρόταση Script-Fu) μήκους L που στάλθηκε στον διακομιστή πρέπει να συνεχιστεί με τις ακόλουθες 3 ψηφιολέξεις (bytes):

    Πίνακας 16.1. Μορφή κεφαλίδας για εντολές

    Ψηφιολέξη (Byte)# Περιεχόμενο Περιγραφή
    0 0x47 Μαγική ψηφιολέξη byte ('G')
    1 L div 256 Υψηλή ψηφιολέξη του L
    2 L mod 256 Χαμηλή ψηφιολέξη του L

  • Κάθε απάντηση από τον διακομιστή (επιστρεφόμενη τιμή ή μήνυμα σφάλματος) μήκους L θα συνεχιστεί με τις ακόλουθες 4 ψηφιολέξεις:

    Πίνακας 16.2. Μορφή κεφαλίδας για απαντήσεις

    Ψηφιολέξη (Byte)# Περιεχόμενο Περιγραφή
    0 0x47 Μαγική ψηφιολέξη byte ('G')
    1 κωδικός σφάλματος 0 σε επιτυχία, 1 σε σφάλμα
    2 L div 256 Υψηλή ψηφιολέξη του L
    3 L mod 256 Χαμηλή ψηφιολέξη του L

[Υπόδειξη] Υπόδειξη

Εάν δε θέλετε να λερώσετε τα χέρια σας: υπάρχει ένα σενάριο Python με το όνομα servertest.py παρεχόμενο από τον πηγαίο κώδικα του GIMP, που μπορείτε να χρησιμοποιήσετε ως απλό κέλυφος γραμμής εντολής για τον εξυπηρετητή Script-Fu.