10.6. Το υπομενού “Script-Fu”

Σχήμα 16.207. Το υπομενού “Script-Fu”

Το υπομενού Script-Fu

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

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

  • Μπορείτε να προσπελάσετε αυτήν την εντολή από το μενού εικόνας μέσα από ΦίλτραScript-Fu

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

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

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

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

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

Η κονσόλα αποτελείται από ένα μεγάλο κυλίσιμο κύριο παράθυρο για έξοδο και ένα πλαίσιο κειμένου που χρησιμοποιείται για πληκτρολόγηση εντολών Scheme. Όταν πληκτρολογείτε μια πρόταση Scheme και έπειτα πατάτε το πλήκτρο Enter, η εντολή και η επιστρεφόμενη τιμή της θα εμφανίζονται στο κύριο παράθυρο.

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

Η κονσόλα Script-Fu

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

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

Περιήγηση

Αυτό το κουμπί είναι δίπλα στο πλαίσιο κειμένου εντολών Scheme. Με κλικ, το διαδικασιακός περιηγητής αναδύεται, με ένα πρόσθετο κουμπί στον πυθμένα του παραθύρου:

Το πρόσθετο κουμπί του διαδικασιακού περιηγητή

Όταν πατάτε αυτό το κουμπί Εφαρμογή στο διαδικασιακό περιηγητή, η επιλεγμένη διαδικασία θα επικολληθεί στο πλαίσιο κειμένου:

Εφαρμογή διαδικασίας PDB

Τώρα πρέπει απλά να αντικαταστήσετε τα ονόματα παραμέτρου (εδώ: “στρώση” και “κατάσταση”) με τις ενεργές τιμές και έπειτα μπορείτε να καλέσετε τη διαδικασία πατώντας Enter.

Κλείσιμο

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

Καθαρισμός

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

Αποθήκευση

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

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

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

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

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

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

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

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

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

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

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

  • κάθε μήνυμα (πρόταση 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.