Automatisering (AppleScript en Shortcuts)
Automatisering werkt hier in beide richtingen.
Naar buiten: Peach Commander is scriptbaar, dus u kunt hem besturen vanuit AppleScript en vanuit de app Snelle taken. Een handvol kernwerkwoorden laat een script door de vensters navigeren, bestanden op masker selecteren, de huidige selectie kopiëren of verplaatsen en elke opdracht van Peach Commander via zijn id uitvoeren — met precies dezelfde acties als de menu’s, zodat een gescripte stap zich gedraagt als een handmatige. Daarover gaat de rest van deze pagina.
Naar binnen: Peach Commander kan ook een script van u uitvoeren — AppleScript of JavaScript — en het op een menu, een knop of een toets zetten. Daarvoor is de plug-in Scripting nodig, die uitgeschakeld wordt geleverd; zie Uw eigen scripts uitvoeren hieronder.
Wilt u een reeks bestandsacties herhalen in plaats van één, zie Macro’s.
Het woordenboek bekijken¶
- Open Scripteditor (in
/Applications/Utilities). - Kies Venster ▸ Bibliotheek en dubbelklik op Peach Commander (voeg het toe met + als het er niet staat).
- Het woordenboek opent en toont de onderstaande opdrachten en eigenschappen.
De eerste keer dat een script Peach Commander aanstuurt, vraagt macOS om toestemming (Systeeminstellingen ▸ Privacy en beveiliging ▸ Automatisering). Keur het één keer goed en latere scripts draaien zonder vraag.
Wat je kunt uitlezen¶
| Eigenschap | Betekenis |
|---|---|
active folder |
POSIX-pad van de map van het actieve paneel. |
inactive folder |
POSIX-pad van de map van het andere paneel. |
selection paths |
De geselecteerde items in het actieve paneel (of het item onder de cursor). |
De werkwoorden¶
| Opdracht | Wat het doet |
|---|---|
go to "<pad>" [in left\|right] |
Open een map in een paneel (standaard: het actieve paneel). |
select "<masker>" |
Selecteer items in het actieve paneel op een jokermasker, bijv. *.pdf. |
copy items to "<map>" |
Kopieer de selectie van het actieve paneel naar een map. |
move items to "<map>" |
Verplaats de selectie van het actieve paneel naar een map. |
run command "<id>" |
Voer elke opdracht uit via zijn id, bijv. cm_PackFiles. |
Kopiëren en verplaatsen gebruiken dezelfde achtergrondoverdrachtwachtrij als F5/F6, zodat voortgang en eventuele overschrijfvragen precies verschijnen als bij een handmatige bewerking.
Voorbeeld¶
tell application "Peach Commander"
go to "~/Downloads" in left
select "*.pdf"
copy items to "~/Documents/PDFs"
return selection paths
end tell
Gebruik vanuit Shortcuts¶
Voeg in de app Shortcuts de actie Voer AppleScript uit toe en plak een script zoals hierboven. Zo vouw je een Peach Commander-stap in een grotere Shortcut — bijvoorbeeld geactiveerd door een mapwijziging of een sneltoets.
Uw eigen scripts uitvoeren¶
De andere richting: een script van u, uitgevoerd door Peach Commander.
Dit is een plug-in, en hij wordt uitgeschakeld geleverd, omdat het uitvoeren van een programma naar keuze alles kan wat de rest van het programma kan en verschillende dingen die niets daarvan dekt. Twee schakelaars, beide uit totdat u ze omzet:
- Configuratie ▸ Plug-ins… — zet Scripting aan.
- Instellingen ▸ AI — zet Scripts laten uitvoeren aan. Het staat op die pagina omdat het dezelfde soort toestemming is als de shell van de assistent, en die twee horen bij elkaar.
Zet daarna een script in scripts/ in uw configuratiemap — Opdrachten ▸ Scriptmap openen brengt u daar en laat de eerste keer een voorbeeld achter. Een bestand .applescript, .scpt of .jxa in die map is een script; er valt niets te registreren.
Wat een script krijgt¶
De vensterstatus komt via de omgeving binnen, zodat het gewone geval geen Apple events en geen toestemmingsvraag nodig heeft:
| Variabele | Betekent |
|---|---|
PC_ACTIVE_DIR |
De map van het actieve venster |
PC_TARGET_DIR |
De map van het andere venster |
PC_CURSOR_NAME |
Het bestand onder de cursor |
PC_SELECTION_COUNT |
Hoeveel items zijn geselecteerd |
PC_SELECTION_FILE |
Een tekstbestand met één geselecteerd pad per regel (ontbreekt als er niets is geselecteerd) |
set here to system attribute "PC_ACTIVE_DIR"
return "The active panel is showing " & here
Alles daarbuiten gaat via het programma zelf, met de werkwoorden hierboven — de twee helften vullen elkaar dus aan.
Een script op een knop of een toets zetten¶
Elk script wordt een opdracht met de naam plugin.script.run.<naam>, waarbij <naam> de bestandsnaam zonder extensie is (spaties en punten worden streepjes). Die id werkt overal waar een cm_*-id werkt: in de knoppenbalk, in usercmd.ini, in een .mnu-bestand en in Configuratie ▸ Sneltoetsen bewerken….
Hoe een script loopt, en de tijdslimiet¶
Standaard loopt een script als een apart proces, wat betekent dat het een tijdslimiet kan krijgen en gestopt kan worden als het die overschrijdt — dertig seconden tenzij u iets anders zegt. Een script kan ervoor kiezen binnen het programma te lopen, waardoor het een gestructureerde waarde kan teruggeven en tussen runs gecompileerd blijft, maar dan is er geen tijdslimiet: een script dat in een lus zit, houdt het programma vast. Zet de keuze in scripts.json naast uw scripts:
[
{ "id": "Tidy", "fileName": "Tidy.applescript", "title": "Tidy Downloads",
"language": "AppleScript", "mode": "subprocess", "timeoutSeconds": 60 }
]
Alleen wat afwijkt van de standaardwaarden heeft een vermelding nodig; een bestand zonder vermelding krijgt zijn eigen naam als titel, loopt als apart proces en stopt na dertig seconden.
Voor de assistent¶
Met de plug-in aan en de instelling ingeschakeld krijgt de assistent run_applescript, run_jxa en check_script. Elk daarvan toont u het exacte script en wacht op uw goedkeuring voordat er iets loopt, en geen enkele wordt ooit aangeboden aan een externe agent via MCP.
Opmerkingen¶
- De opdracht-id die je aan
run commandgeeft, is dezelfdecm_*-id die in de opdrachtbrowser wordt getoond (zie Het Start-menu en aangepaste opdrachten). - Scripting werkt altijd op het actieve paneel; gebruik eerst
go to … in left/in rightals je een specifieke kant nodig hebt. - Peach Commander is een app met één venster, dus scripts richten zich op de twee panelen van dat venster.