# Ποια ενέργεια πρέπει να εκτελεστεί;

Κατά πάσα πιθανότητα θα θέλετε η ενέργειά σας τελικά να τελειώνει εκτελώντας κάτι. Και, στην πραγματικότητα, εκτελώντας κάτι είναι μια από τις λίγες συνθήκες που απαιτούνται για να θεωρηθεί μια ενέργεια ως έγκυρη.

As we have already seen, the command to be executed is configured in the Command page.

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

## Διαθέσιμες παράμετροι

In the Command page, click on Legend button to see the list of available parameters.

### Κατάλογος των διαθέσιμων παραμέτρων

Εμφανίζει τον κατάλογο των διαθέσιμων παραμέτρων.

The Legend button has a toggling action: click once to display the Parameter Legend dialog box; click a second time to hide it.

The word « first » may be misleading as it only refers to the list of selected items internally provided by the file manager to the Caja-Actions plugin.

In particular, it has nothing to do with the visual selection you may have done in the file manager window. And, in fact, which is the « first » selected item in a multiple selection is absolutely undefined and rather unpredictable.

## Πού πρέπει να εκτελεστεί η ενέργεια;

Η ενέργειά σας μπορεί να εκτελεστεί σε έναν ιδιαίτερο κατάλογο εργασίας.

You may specify it in the Command tab, in the Working directory entry box, or by clicking on Browse to select a folder on the filesystem.

### Το πλαίσιο καταλόγου εργασίας

Εστιάστε στο πλαίσιο επιλογής καταλόγου εργασίας.

The working directory defaults to `%d`, which runs the command in the base directory of the (first) selected item.

In the particular case of the `%d` parameter, the « first » selected item is not very important because it is very likely that all selected items are located in the same base directory.

## Πώς πρέπει να εκτελεστεί η ενέργεια;

Apart from configuring the conditions, the selection must be met in order your action be displayed in file manager menus, Caja-Actions allows you to configure how exactly your command will be executed.

Click on the Execution tab to show the page which configures the execution of your command.

### Ρύθμιση των καταστάσεων εκτέλεσης

Εμφανίζει πώς να ρυθμίσετε τις καταστάσεις εκτέλεσης μιας εντολής.

### Κατάσταση εκτέλεσης

#### Ρύθμιση της κατάστασης εκτέλεσης

Εστίαση στο πλαίσιο κατάστασης εκτέλεσης.

Η κατάσταση εκτέλεσης της εντολής σας μπορεί να επιλεγεί μεταξύ των ακόλουθων τιμών:

Κανονική

- Ξεκινά την εντολή ως μια τυπική γραφική διεπαφή χρήστη.

Τερματικό

- Ξεκινά το αγαπημένο τερματικό του περιβάλλοντος επιφάνειας εργασίας και εκτελεί την εντολή σε αυτό.

Ενσωματωμένο

- Χρησιμοποιεί το ειδικό γνώρισμα του διαχειριστή αρχείων που μπορεί να επιτρέψει ένα τερματικό να εκτελεστεί σε αυτό.

  As Caja does not have this feature, this option is strictly equivalent to `Terminal` option.

Εμφάνιση εξόδου

- Ξεκινά το αγαπημένο τερματικό του περιβάλλοντος επιφάνειας εργασίας και εκτελεί την εντολή σε αυτό. Στο τέλος, οι τυπικές ροές (τυπική έξοδος, τυπικό σφάλμα) συλλέγονται και εμφανίζονται.

The execution mode of a command defaults to `Normal`. That is, the command is executed without any particular pre- or post-work.

### Έναρξη ειδοποίησης

#### Ρύθμιση των καταστάσεων έναρξης

Εστίαση στο πλαίσιο κατάστασης έναρξης.

If the execution mode of the command is `Normal`, and if you know that the application will send a `remove` message with the `DESKTOP_STARTUP_ID` environment variable set, then check the Startup notify checkbox.

See the Startup Notification Protocol Specification for more details.

### Κλάση παραθύρου

If the execution mode of the command is `Normal`, and if you know that the application will map at least one window with a given class name, then enter that name into the Startup Window Manager class entry box.

See the Startup Notification Protocol Specification for more details.

### Κάτοχος της εκτέλεσης

#### Ρύθμιση του κατόχου της εκτέλεσης

Focus on the Execute as frame.

Enter in the Execute as user entry box the username or the UID of the user your command will be run as.

Αν δεν εισάγετε τίποτα σε αυτό το πεδίο, τότε η εντολή θα εκτελεστεί ως του τρέχοντος χρήστη.

### Πολλαπλές εκτελέσεις

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

Ή μπορεί να προτιμήσετε η εντολή σας να επαναληφθεί για κάθε επιλεγμένο στοιχείο, δίνοντας ένα διαφορετικό στοιχείο ως όρισμα για κάθε εκτέλεση.

Actually, Caja-Actions automatically handles these two behaviors, depending of the form and the order of the parameters in the command arguments.

Though some parameters are not depending on the count of the selection (e.g. « `%c` », the selection count itself), most have two declensions:

- a « singular » one, e.g. « `%b` », the basename of the selected item;

- a « plural » one, e.g. « `%B` », the space-separated list of the basenames of selected items.

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

Όταν η επιλογή περιέχει περισσότερα από ένα στοιχεία:

- if the first relevant parameter is of a singular form, then Caja-Actions will consider that the command is only able to deal with one item at a time, and thus that it has to be ran one time for each selected item;

- contrarily, if the first relevant parameter found is of the plural form, then Caja-Actions will consider that the command is able to deal with a list of items, and thus the command will be executed only once;

- if all found parameters are irrelevant, then Caja-Actions defaults to consider that the command should be executed only once.

### Characterization of the parameters vs. multiple execution

Παράμετρος | Περιγραφή | Επανάληψη
`%b` | (πρώτο) όνομα βάσης | μοναδικός |  |
`%B` | κατάλογος ονομάτων βάσης που χωρίζονται με κενά |  |  | πολλαπλός
`%c` | πλήθος των επιλεγμένων στοιχείων |  | άσχετο |
`%d` | (πρώτος) κατάλογος βάσης | μοναδικός |  |
`%D` | λίστα του καταλόγου βάσης που χωρίζεται με κενά κάθε επιλεγμένου στοιχείου |  |  | πολλαπλός
`%f` | (πρώτο) όνομα αρχείου | μοναδικός |  |
`%F` | κατάλογος επιλεγμένων ονομάτων αρχείων που χωρίζεται με κενά |  |  | πολλαπλός
`%h` | όνομα οικοδεσπότη του (πρώτου) URI |  | άσχετο |
`%m` | τύπος mime του (πρώτου) επιλεγμένου στοιχείου | μοναδικός |  |
`%M` | κατάλογος των τύπων mime των επιλεγμένων στοιχείων που χωρίζονται με κενά |  |  | πολλαπλός
`%n` | όνομα χρήστη του (πρώτου) URI |  | άσχετο |
`%o` | τελεστής ουδέτερης εντολής που εξαναγκάζει μια μοναδική μορφή εκτέλεσης | μοναδικός |  |
`%O` | τελεστής ουδέτερης εντολής που εξαναγκάζει μια πολλαπλή μορφή εκτέλεσης |  |  | πολλαπλός
`%p` | αριθμός θύρας του (πρώτου) URI |  | άσχετο |
`%s` | σχήμα του (πρώτου) URI |  | άσχετο |
`%u` | (πρώτο) URI | μοναδικός |  |
`%U` | κατάλογος επιλεγμένων URIs που χωρίζεται με διάστημα |  |  | πολλαπλός
`%w` | (πρώτο) όνομα βάσης χωρίς την επέκταση | μοναδικός |  |
`%W` | κατάλογος των ονομάτων βάσης χωρίς την επέκτασή τους που χωρίζεται με διάστημα |  |  | πολλαπλός
`%x` | (πρώτη) επέκταση | μοναδικός |  |
`%X` | κατάλογος επεκτάσεων που χωρίζεται με διάστημα |  |  | πολλαπλός
`%%` | the « `%` » character |  | άσχετο |

#### Usage of singular vs. plural forms

Say the current folder is `/data`, and the current selection contains the three files `pierre`, `paul` and `jacques`.

#### If we have requested `echo %b`,

τότε οι ακόλουθες εντολές θα εκτελεστούν διαδοχικά:

- `echo pierre`
- `echo paul`
- `echo jacques`

This is because `%b` marks a singular parameter. The command is then run once for each of the selected items.

#### Contrarily, if we have requested `echo %B`,

τότε η ακόλουθη εντολή θα εκτελεστεί:

- `echo pierre paul jacques`

This is because `%B` marks a plural parameter. The command is then run only once, with the list of selected items as arguments.

#### If we have requested `echo %b %B`,

τότε οι ακόλουθες εντολές θα εκτελεστούν διαδοχικά:

- `echo pierre pierre paul jacques`
- `echo paul pierre paul jacques`
- `echo jacques pierre paul jacques`

This is because the first relevant parameter is `%b`, and so the command is run once for each selected item, replacing at each occurrence the `%b` parameter with the corresponding item. The second parameter is computed and added as arguments to the executed command.

#### And if we have requested `echo %B %b`,

τότε οι ακόλουθες εντολές θα εκτελεστούν:

- `echo pierre paul jacques pierre`

This is because the first relevant parameter here is `%B`. The command is then run only once, replacing `%B` with the space-separated list of basenames. As the command is only run once, the `%b` is substituted only once with the (first) basename.