# Acções do Utilizador

Com o ActionMan, poderá configurar e gerir as Acções do Utilizador. Algumas das opções gerais são definidas no Konfigurador. Com as Acções do Utilizador, poderá efectuar algumas acções sobre os ficheiros do painel ou aceder às funções internas do &krusader; com os parâmetros a usar directamente itens de substituição. As acções integram-se de forma transparente com o sistema de acções do &kde;, o que significa que as janelas normais para Editar as Barras de Ferramentas e Editar os Atalhos irão também mostrar as Acções do Utilizador. Estas são guardadas em `~/.kde/share/apps/krusader/useraction.xml` (a estrutura do ficheiro está documentada nos cabeçalhos do DOxygen do UserActionXML). Estão incluídos diversos exemplos na documentação. Poderá editar / adicionar / importar / exportar as acções do utilizador graças ao ActionMan. As Acções do Utilizado rpor omissão são guardadas em `~/.kde/share/apps/krusader/useraction-examples.xml`. As mesmas poderão aparecer em praticamente todo o lado onde iriam aparecer KAction's normais. As acções até poderão ser colocadas na barra do menu, mas para isso o ficheiro `krusaderui.rc` deverá poder ser editado. Alguns exemplos:

- Menu de Acções do Utilizador

- Menu do Utilizador

- Barra de Acções

- menus do botão direito do rato

- &etc;

A ferramenta de Acções do Utilizador do &krusader; é bastante poderosa e personalizada, caso esteja familiarizado com a escrita de Acções de Utilizador de um modo geral.

São fornecidas diversas Acções do Utilizador por omissão. Por favor, envie as suas Acções de Utilizador favoritas para que se tornem disponíveis para a comunidade do &krusader;. Obrigado! Oferecemos também um Fórum de Acções do Utilizador.

## ActionMan

ActionMan

Basically, UserActions are a method to call external programs with variable parameters. For example, you could have a UserAction with the following `xmms `--enqueue %aList("Selected")%`` to enqueue all selected items of the active panel to the current instance of xmms. Additionally, there is limited access to &krusader; internal functions requiring parameters. For example, `%aPanelSize("80")%` will set the width of the active panel to 80% of the &krusader; mainwindow. Since the parameter of placeholders can contain other placeholders, few scripts are possible. However, scripting can be done with the JavaScript console.

Gerir as Acções do Utilizador

Abra o Konfigurador e escolha a opção "Acções do Utilizador -> ActionMan", onde poderá adicionar, editar, remover, importar e exportar acções do utilizador.

- Acção para Adicionar: Se adicionar uma nova acção, irá obter uma máscara de entrada vazia, onde poderá introduzir todas as propriedades que desejar. A acção será adicionada, assim que você carregar em Ok. Depois disso, o nome irá aparecer na lista à esquerda.

- Para editar uma acção do utilizador: Seleccione a acção à esquerda. Depois, escolha-a, se quiser editar as suas propriedades. As alterações só irão fazer efeito quando carregar em OK.

- Remover uma acção do utilizador: Seleccione a acção à esquerda e carregue no botão para remover.

- Para importar uma Acção do Utilizador: Se importar algumas acções, estas serão adicionadas automaticamente à sua lista. Se existirem conflitos de nomes (os nomes terão de ser únicos, porque são os ID's do sistema de acções do &kde;), ser-lhe-á pedido para os resolver. Para tal, a lista à esquerda só irá mostrar as acções onde existem conflitos. Poderá agora atribuir a eles nomes novos ou removê-los.

- Acção de Exportação: Se exportar uma acção do utilizador, terá de indicar um nome para o ficheiro onde a guardar. Se não existir, será criada. Se o ficheiro já tiver acções do utilizador, a acção que está a exportar será adicionada a esse ficheiro.

Todas as acções que definiu serão então apresentadas no menu do utilizador e nas janelas do &kde; para a modificação dos atalhos e da barra de ferramentas. Para além disso, todas as acções disponíveis para o item actual irão também aparecer no menu do botão direito do rato.

Propriedades Básicas

"Nome Distinto", "Título" e "Linha de Comandos" são sempre obrigatórios, enquanto as outras propriedades são opcionais.

- Nome Distinto: Um nome único para a acção do utilizador, usado para identificá-la no sistema de acções do &kde;.

- Botão de ícones: O ícone da sua acção do utilizador.

- Categoria: Adiciona uma categoria para uma melhor visão geral. NOTA: Esta propriedade ainda não é usada. Planeia-se a sua utilização, mas ainda não está implementada.

- Título: O título apresentado nos menus ou janelas.

- Dica: Uma dica para a sua acção do utilizador, p.ex. apresentada na dica que aparece à passagem do rato.

- Descrição: Uma descrição sobre o que a acção do utilizador faz. Também é apresentada como ajuda O Que é Isto , caso faça &Shift; F1 e carregue na sua acção do utilizador.

- Opção para Usar a Dica: Usa a dica como uma descrição.

- Linha de comandos: O comando que será executado. Poderá adicionar itens de substituição, usando uma interface gráfica, com o botão para Adicionar.

- Local Inicial: A pasta de trabalho do comando que será executado.

- Modo de execução:

  - Normal: O modo de execução comum.

  - Correr num terminal: Executa o comando num ambiente de terminal.

  - Correr no emulador de terminal incorporado: Executa o comando no emulador de terminal incorporado.

  - Recolher a saída: Recolhe o resultado da execução do programa numa janela da &GUI;.

  - Saída de erros separada: Quando é usada a opção "Recolher a saída", o 'stdout' e o 'stderr' são recolhidos em separado.

- O comando aceita:

  - Ficheiros locais (sem URLs): Indica ao item de substituição que deverá devolver endereços locais.

  - URL's (locais e remotos): Diz ao item de substituição que deverá devolver &URL;s.

- Atalho por omissão: Configura um atalho por omissão para a acção do utilizador.

- Activo: se estiver assinalada, a acção do utilizador é apresentada no Menu do Utilizador; caso contrário, a acção do utilizador ficará escondida.

Sintaxe da linha de comandos

Basicamente, tudo o que escrever na linha de comandos será executado (se escrever "ls -l", "ls -l" será então executado). Tem a possibilidade de obter uma sequência de caracteres do &krusader; que represente o estado actual do painel. Isto é feito através dos itens de substituição. Um item de substituição começa com uma percentagem ('%') e é seguido de um indicador de painel ('a' para o activo, 'o' para o outro, 'l' (left) para o da esquerda e 'r' (right) para o da direita. Se o item de substituição não necessitar de nenhum painel para funcionar, terá de indicar isso com um sublinhado ('_')). De seguida, vem o nome do item de substituição (veja a lista abaixo), a qual poderá obter alguns parâmetros delimitados por aspas. Finalmente, vem mais uma vez o símbolo de percentagem.

Isto parece muito complicado, pelo que será melhor dar um exemplo: o '%aList("Selected")%' é substituído por uma lista com todos os itens seleccionados no painel activo. Como tal, um comando do tipo 'xmms --enqueue %aList("All", " ", "", "*.mp3")%' irá executar o 'xmms' com uma lista de todos os '.mp3's do painel activo, separados por um único espaço em branco.

De momento, estão implementados os seguintes itens de substituição:

- `Path` - substituído pela localização do painel

  1. Parâmetro (opcional): Espaços de escape automáticos. Por omissão: sim

- `Count` - substituído pelo número do <primeiro parâmetro>

  1. Parâmetro: Quais os itens: "All" (todos), "Selected" (seleccionados), "Files" (ficheiros) ou "Dirs" (pastas)

- `Filter` - substituído pela máscara do filtro do painel

- `Current` - substituído pelo item actual

  1. Parâmetro (opcional): Omitir a localização actual. Por omissão: não

  2. Parâmetro (opcional): Espaços de escape automáticos. Por omissão: sim

- `List` - substituído por uma lista com todo o <primeiro parâmetro>

  1. Parâmetro: Quais os itens: "All" (todos), "Selected" (seleccionados), "Files" (ficheiros) ou "Dirs" (pastas)

  2. Parâmetro (opcional): Separador entre os itens. Por omissão: " "

  3. Parâmetro (opcional): Omitir a localização actual. Por omissão: não

  4. Parâmetro (opcional): Máscara do filtro (para todos excepto o "Selected"). Por omissão: *

  5. Parâmetro (opcional): Espaços de escape automáticos. Por omissão: sim

- `Select` - manipula a selecção num painel

  1. Parâmetro: Máscara do filtro

  2. Parâmetro (opcional): manipula de diferentes formas: "Set" (configurar), "Add" (adicionar) ou "Remove" (remover). Por omissão: "Set"

- `Goto` - muda a localização do painel para o <primeiro parâmetro>

  1. Parâmetro: Uma localização relativa, absoluta ou um URL

  2. Parâmetro (opcional): Abre a localização numa nova página. Por omissão: não

- `Ask` - pede algum texto ao utilizador e é substituído pela resposta

  1. Parâmetro: A pergunta

  2. Parâmetro (opcional): Uma resposta por omissão

  3. Parâmetro (opcional): Um título para a janela da pergunta

- `Clipboard` - manipula a área de transferência

  1. Parâmetro: O texto que deverá ir para a área de transferência (poderá querer usar o "%aCurrent%" aqui)

  2. Parâmetro (opcional): Adiciona o texto ao conteúdo actual da área de transferência com este separador

- `Copy` - copia um ficheiro; é útil para cópias de segurança rápidas e locais

  1. Parâmetro: O que deveria ser copiado

  2. Parâmetro: Para onde deverá ser copiado

- `Sync` - abre a área de Sincronização com um dado perfil

  1. Parâmetro: Um perfil para a Sincronização

- `NewSearch` - abre as janelas de pesquisa com um dado perfil

  1. Parâmetro: Um perfil para o módulo de pesquisa

- `Profile` - carrega um dado perfil do painel

  1. Parâmetro: Um perfil do painel

- `Each` - divide a linha de comandos numa lista. Estes comando são executados um a seguir ao outro.

  1. Parâmetro: Um item da lista (todos, todos os ficheiros, todas as pastas, todos os seleccionados).

- `Move` - mover da origem para o destino.

  1. Parâmetro: Uma origem

  2. Parâmetro: Um destino

- `PanelSize` - muda a relação entre os dois painéis.

  1. Parâmetro (opcional): Um valor inteiro, p.ex. 80 faz com que o painel activo use 80% da largura do &krusader; (ou altura, no modo vertical). A omissão do parâmetro corresponde a 50%.

- `Ask` - cancela a execução.

  1. Parâmetro (opcional): Um tex para a pergunta de cancelamento.

- `Script` - executes an external Javascript file.

  NOTE: This is still experimental and the interface may change, feedback is always welcome.

  1. Parameter: path to the external foo.js file, absolute path or relative to `<kde-app-data>/krusader/js/`. <kde-app-data> is `$(kde-config --localprefix)/share/apps/` or `$(kde-config --prefix)/share/apps/`, for those who don't know where to copy the scripts/extensions. If all the needed files (normally `.js` and maybe `.ui`) are in one of these dirs it's sufficient to give the file name only as <first parameter>.

  2. Parameter (optional): a list of variables which should be set, like "return=cmd; a=lalala; b='%_Ask(..)'" so that the placeholder is replaced be the content of the variable cmd and the other two have already these values when the script starts.

- `ListFile` - é substituído pelo nome/localização de um ficheiro temporário, contendo este uma lista de itens

  1. Parâmetro: localização/nome do ficheiro

- `ColSort` - altera a ordenação para uma determinada coluna de um painel específico.

  1. Parâmetro: Coluna: Tanto poderá ser "Name", "Ext", "Type", "Size", "Modified", "Perms", "rwx", "Owner" ou "Group"

  2. Parâmetro: Sequência de ordenação: Tanto poderá ser "Toggle" (comutar), "Asc" (ascendente), "Desc" (descendente)

- `View` - altera o modo de visualização.

  1. Parâmetro: Modo de visualização: Tanto poderá ser "generic" (genérico), "text" (texto), "hex" (hexadecimal)

  2. Parâmetro: Modo da janela: Tanto poderá ser "tab" (página), "window" (janela)

É fornecido um auxiliar gráfico para os itens de substituição. Os espaços são escapados por omissão no 'Path', 'Current' e 'List'. Existe ainda mais uma coisa importante a saber: Todos os itens de substituição que interagem com as funções internas do &krusader; são chamados na altura da expansão (o que significa directamente quando são avaliados os itens de substituição). Os programas externos são chamados na altura da execução (o que significa após a avaliação de todos os itens de substituição).

Propriedades Avançadas

Aqui poderá configurar onde é que o seu comando deverá estar visível (para o menu do botão direito do rato). Para além disso, é possível alterar o comando executado e confirmá-lo em separado. Poderá também definir um utilizador com o qual deverá ser executado o comando.

- Configura se a acção é válida para um Protocolo, Localização, Tipo MIME ou Nome de Ficheiro.

- Afine a linha de comandos antes de a executar.

- Defina um utilizador diferente para a execução (isto não fará qualquer efeito nas funções internas do &krusader;)