# Användaråtgärder

Med Actionman kan du skapa, anpassa och hantera användaråtgärder. Vissa allmänna inställningar anpassas med Konfigurator. Med användaråtgärder kan du utföra åtgärder med filer i panelen eller direkt komma åt &krusader;s interna funktioner med parametrar genom att använda platsmarkörer. Åtgärderna integreras sömlöst med &plasma;s åtgärdssystem, vilket betyder att de vanliga dialogrutorna för att redigera verktygsrader och genvägar också kommer att visa användaråtgärder. Användaråtgärderna lagras i `~/.local/share/krusader/useractions.xml` eller `krusader/useraction.xml` i katalogen som kan bestämmas genom att använda kommandot `qtpaths --paths GenericDataLocation`. Flera exempel ingår i dokumentationen. Användaråtgärder kan redigeras, läggas till, importeras och exporteras genom att använda Actionman. De fördefinierade användaråtgärderna är lagrade i `/usr/share/krusader/useraction-examples.xml`. Användaråtgärder kan visas på nästa alla ställen där "normala" åtgärder kan placeras. De kan till och med placeras i menyraden, men för att göra det måste filen `krusaderui.rc` redigeras. Några exempel:

- Användaråtgärdsmenyn

- Användarmenyn

- Åtgärdsverktygsraden

- Högerklickmenyer

- etc.

&krusader;s verktyg för användaråtgärder är mycket kraftfullt och anpassningsbart om du är bekant med att skriva användaråtgärder i allmänhet.

Flera användaråtgärder tillhandahålls som standard. Ladda gärna upp dina egna favoritåtgärder så att de blir tillgängliga för &krusader;s gemenskapen. Tack!

## Actionman

Actionman

I grunden är användaråtgärder ett sätt att anropa externa program med variabla parametrar. Du kan till exempel ha en användaråtgärd med `xmms `--enqueue %aList("Selected")%`` för att köa alla markerade objekt i den aktiva panelen i den aktuella instansen av xmms. Dessutom finns begränsad åtkomst av &krusader;s interna funktioner som kräver parametrar. Exempelvis kan `%aPanelSize("80")%` ställa in den aktiva panelens bredd till 80 % av &krusader;s huvudfönster. Eftersom parametrar i platsmarkörer kan innehålla andra platsmarkörer, är få skript möjliga.

Hantera användaråtgärder

Öppna Konfigurator och välj Användaråtgärder Starta Actionman, där du kan lägga till, redigera, ta bort, importera och exportera användaråtgärder.

- Lägga till åtgärd: Om du lägger till en ny åtgärd, får du tomma inmatningsfält där du kan skriva in alla egenskaper du önskar. Åtgärden läggs till så fort du klickar på Verkställ. Därefter visas namnet i listan till vänster.

- För att redigera en användaråtgärd: Markera användaråtgärden till vänster. Välj den därefter om du vill redigera dess egenskaper. Ändringarna får bara effekt när du klickar på Verkställ.

- För att ta bort en användaråtgärd: Markera användaråtgärden till vänster och klicka på borttagningsknappen .

- För att importera en användaråtgärd: Om du importerar några åtgärder, läggs de automatiskt till i listan. Om det finns namnkonflikter (namnen måste vara unika, eftersom de är identifierarna i &plasma;s åtgärdssystem), blir du tillfrågad om att lösa upp dem. För detta visar listan till vänster bara de åtgärder där det finns konflikter. Du kan nu ge dem nya namn eller ta bort dem.

- Exportera åtgärder: Om du exporterar en användaråtgärd, måste du ange ett filnamn att lagra den i. Om filen inte finns, kommer den att skapas. Om filen redan innehåller användaråtgärder, kommer åtgärden du exporterar att läggas till i filen.

Alla åtgärder du har definierad visas nu i användarmenyn och i &plasma;s dialogrutor för att ändra genvägar och hantera verktygsrader. Dessutom visas alla åtgärder tillgängliga för det aktuella objektet i högerklicksmenyn.

Grundegenskaper

Identifierare, Titel och Kommandorad krävs alltid, alla övriga egenskaper är valfria.

- Identifierare: Ett unikt namn på användaråtgärden som används för att identifiera den i &plasma;s åtgärdssystem.

- Ikonknapp: Användaråtgärdens ikon.

- Kategori: Kategorier används för en bättre översikt. De visas som undermenyalternativ i menyn Användaråtgärder.

- Titel: Titel som visas i menyer eller dialogrutor.

- Verktygstips: Ett verktygstips för användaråtgärden, som t.ex. visas i verktygsraden när musen hålls över den.

- Beskrivning: En beskrivning av vad användaråtgärden gör. Den visas också som Vad är det här om du klickar med &Shift; F1 på användaråtgärden.

- Kommando: Kommandot som kommer att köras. Du kan lägga till en platsmarkör med användning av ett grafisk gränssnitt med knappen Lägg till.

- Arbetskatalog: Arbetskatalogen för kommandot som kommer att köras.

- Körningsläge:

  - Normal: Normalt körningsläge.

  - Kör i terminal: Kör kommandot i terminalen.

  - Kör i inbäddad terminalemulator: Kör kommandot i den inbäddade terminalen.

  - Samla utdata: Samlar utmatningen från programmet som körs i ett fönster i det grafiska användargränssnittet.

  - Skild standardfelutmatning: När "Samla utdata" används samlas standardutmatning och standardfelutmatning in separat.

- Kommandot accepterar:

  - Bara lokala filer (inga webbadresser): Talar om att platsmarkören bara ska returnera lokala adresser.

  - Webbadresser (fjärradresser och lokala adresser): Talar om att platsmarkören ska returnera webbadresser.

- Standardgenväg: Ställer in en standardgenväg för användaråtgärden.

- Aktiverad: Om markerad visas användaråtgärden i Användarmenyn, annars kommer användaråtgärden att vara dold.

Kommandoradsyntax

I grunden kommer allt du skriver på kommandoraden att köras (om du skriver "ls -l", körs "ls -l"). Du har möjlighet att få en teckensträng från &krusader; som representerar panelens aktuella tillstånd. Det görs med platsmarkörer. En platsmarkör börjar med ett procenttecken ('%') och följs av en panelindikering ('a' för aktiva, 'o' för den andra, 'l' för den vänstra och 'r' för den högra panelen. Om platsmarkören inte behöver en panel för åtgärden, måste du ange det med ett understreck '_'). Därefter kommer platsmarkörens namn (se listan nedan), som kan ha några parametrar omslutna med citationstecken. Till sist, åter ett procenttecken.

Det låter mycket komplicerat, så låt oss ta ett exempel: '%aList("Selected")%' ersätts av en lista med alla markerade objekt i den aktiva panelen. Så ett kommando som 'xmms --enqueue %aList("All", " ", "", "*.mp3")%' kör xmms med en lista av alla .mp3-filer i den aktuella panelen, åtskilda med ett enda blanktecken.

För närvarande är följande platsmarkörer implementerade:

- `Path`: Ersätts av panelernas sökväg

  1. Parameter (valfri): Hantera mellanslag automatiskt. Förval: ja

- `Count`: Ersätts med antalet i <första parameter>

  1. Parameter: Vilka objekt; antingen "All" (alla), "Selected" (markerade), "Files" (filer) eller "Dirs" (kataloger)

- `Filter`: Ersätts av panelens filtermask

- `Current`: Ersätts av det aktuella objektet

  1. Parameter (valfri): Utelämna aktuell sökväg. Förval: nej

  2. Parameter (valfri): Hantera mellanslag automatiskt. Förval: ja

- `List`: Ersätts av en lista med hela <första parameter>

  1. Parameter: Vilka objekt; antingen "All" (alla), "Selected" (markerade), "Files" (filer) eller "Dirs" (kataloger)

  2. Parameter (valfri): Skiljetecken mellan objekten. Förval: " "

  3. Parameter (valfri): Utelämna aktuell sökväg. Förval: nej

  4. Parameter (valfri): Filtermask (för alla utom "Selected"). Förval: *

  5. Parameter (valfri): Hantera mellanslag automatiskt. Förval: ja

- `Select`: Hanterar markeringen i en panel

  1. Parameter: Filtermask

  2. Parameter (valfri): hantera på vilket sätt; antingen "Set" (Sätt), "Add" (Lägg till) eller "Remove" (Ta bort). Förval: "Set"

- `Goto`: Ändrar panelens sökväg till <första parameter>

  1. Parameter: En relativ eller absolut sökväg, eller en webbadress

  2. Parameter (valfri): Öppna platsen i en ny flik. Förval: nej

- `Ask`: Frågar användaren efter någon text, och ersätts av svaret

  1. Parameter: Frågan

  2. Parameter (valfri): Ett förvalt svar

  3. Parameter (valfri): En rubrik för frågerutan

- `Clipboard`: Hanterar klippbordet

  1. Parameter: Texten som ska läggas på klippbordet (du kanske vill använda "%aCurrent%" här)

  2. Parameter (valfri): Lägg till texten sist i klippbordets aktuella innehåll med detta skiljetecken

- `Copy`: Kopierar en fil, användbart för snabba, lokala säkerhetskopior

  1. Parameter: Vad ska kopieras

  2. Parameter: Vart det ska kopieras

- `Sync`: Öppnar synkroniseraren med en given profil

  1. Parameter: En profil för synkroniseraren

- `NewSearch`: Öppnar sökfönstren med en given profil

  1. Parameter: En profil för sökmodulen

- `Profile`: Laddar en given panelprofil

  1. Parameter: En panelprofil

- `Each`: Delar kommandoraden i en lista. Dessa kommandon körs ett i taget.

  1. Parameter: Ett listobjekt (alla, alla filer, alla kataloger, alla markerade).

- `Move`: Flytta från källa till mål.

  1. Parameter: En källa

  2. Parameter: Ett mål

- `PanelSize`: Ändra förhållandet mellan de två panelerna.

  1. Parameter (valfri): Ett heltalsvärde, t.ex. 80 gör att den aktiva panelen använder 80 % av &krusader;s bredd (eller höjd, i vertikalt läge), att utelämna parametern betyder 50 %.

- `Ask`: Avbryt körning.

  1. Parameter (valfri): En sträng för frågan om att avbryta.

- `ListFile`: Ersätts med sökvägen eller filnamnet på en tillfällig fil som innehåller en lista med objekt

  1. Parameter: sökväg eller filnamn

- `ColSort`: Ställer in sortering av en kolumn i en specifik panel.

  1. Parameter: Kolumn: Antingen "Name", "Ext", "Type", "Size", "Modified", "Perms", "rwx", "Owner" eller "Group"

  2. Parameter: Sorteringssekvens: Antingen "Toggle" (växla), "Asc" (Stigande), "Desc" (Fallande)

- `View`: Ställ in granskningsläge.

  1. Parameter: Granskningsläge: Antingen "generic" (generellt), "text" (text), "hex" (hexadecimalt)

  2. Parameter: Fönsterläge: Antingen "tab" (flik) eller "window" (fönster)

Ett hjälpverktyg för att lägga till platsmarkörer baserat på ett grafiskt användargränssnitt tillhandahålls. Mellanslag i Path, Current och List hanteras normalt automatiskt. Det finns ytterligare en viktig sak att känna till: Alla platsmarkörer som fungerar ihop med &krusader;s interna funktioner anropas när de expanderas (vilket betyder direkt när platsmarkörerna ersätts). Externa program anropas vid körning (vilket betyder efter att alla platsmarkörer har ersatts).

Avancerade egenskaper

Här kan du ställa in var kommandot ska vara synligt (i högerklickmenyn). Dessutom är det möjligt att ändra kommandot som körs och bekräfta det separat. Du kan också ställa in en användare som kommandot ska köras för.

- Ställer in om åtgärden är giltig för ett protokoll, sökväg, Mimetyp eller filnamn.

- Justera kommandoraden innan den körs.

- Ställ in en annan användare vid körning (det har ingen effekt för interna funktioner i &krusader;)