# Ações do usuário

Com o ActionMan, você poderá configurar e gerenciar as Ações do Usuário. Algumas das opções gerais são definidas no Konfigurador. Com as Ações do Usuário, você poderá efetuar algumas ações sobre os arquivos do painel ou acessar às funções internas do &krusader; com os parâmetros usando diretamente itens de substituição. As ações integram-se de forma transparente com o sistema de açõ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 Ações do Usuário. Elas são guardadas em `~/.kde/share/apps/krusader/useraction.xml` (a estrutura do arquivo está documentada nos cabeçalhos do Doxygen do UserActionXML). Estão incluídos diversos exemplos na documentação. Você poderá editar / adicionar / importar / exportar as ações do usuário graças ao ActionMan. As Ações do Usuário padrão são salvas em `~/.kde/share/apps/krusader/useraction-examples.xml`. As mesmas poderão aparecer em praticamente todos locais onde iriam aparecer KAction's normais. As ações até poderão ser colocadas na barra do menu, mas para isso o arquivo `krusaderui.rc` deverá poder ser editado. Alguns exemplos:

- Menu de Ações do Usuário

- Menu do Usuário

- Barra de Ações

- menus do botão direito do mouse

- &etc;

A ferramenta de Ações do Usuário do &krusader; é bastante poderosa e personalizável, caso esteja familiarizado com a escrita de Ações de Usuário de um modo geral.

São fornecidas diversas Ações do Usuário padrão. Por favor, envie as suas Ações de Usuário favoritas para que se tornem disponíveis para a comunidade do &krusader;. Obrigado! Nós oferecemos também um Fórum de Ações do Usuário.

## ActionMan

ActionMan

Basicamente, as Ações do Usuário são um método para invocar programas externos com parâmetros variáveis. Por exemplo, você poderia ter uma ação de usuário com o seguinte `xmms `--enqueue %aList("Selected")%`` para colocar todos os itens selecionados no painel ativo para a instância atual do 'xmms'. Além disso, existe um acesso limitado às funções internas do &krusader;, as quais necessitam de parâmetros. Por exemplo, o `%aPanelSize("80")%` irá definir a largura do painel ativo como sendo 80% da janela principal do &krusader;. Uma vez que o parâmetro das substituições poderá conter outras substituições, são possíveis apenas alguns programas. Contudo, poderá ser feita alguma programação com o console de JavaScript.

Gerenciar as Ações do Usuário

Abra o Konfigurador e escolha a opção "Ações do Usuário -> ActionMan", onde poderá adicionar, editar, remover, importar e exportar ações do usuário.

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

- Para editar uma ação do usuário: Selecione a ação à esquerda. Depois, escolha-a, se quiser editar as suas propriedades. As alterações só irão ter efeito quando clicar em OK.

- Remover uma ação do usuário: Selecione a ação à esquerda e clique no botão para remover.

- Para importar uma Ação do Usuário: Se importar algumas ações, elas serão adicionadas automaticamente à sua lista. Se existirem conflitos de nomes (os nomes terão que ser únicos, porque são os ID's do sistema de ações do &kde;), será pedido para resolvê-los. Para isso, a lista à esquerda só irá mostrar as ações onde existem conflitos. Você poderá então atribuir a eles nomes novos ou removê-los.

- Ação de Exportação: Se exportar uma ação do usuário, terá que indicar um nome para o arquivo onde salvá-la. Se não existir, será criada. Se o arquivo já tiver ações do usuário, a ação que está exportando será adicionada a esse arquivo.

Todas as ações que definiu serão então apresentadas no menu do usuário e nas janelas do &kde; para a modificação dos atalhos e da barra de ferramentas. Além disso, todas as ações disponíveis para o item atual irão também aparecer no menu do botão direito do mouse.

Propriedades básicas

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

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

- Botão de ícones: O ícone da sua ação do usuário.

- Categoria: Adiciona uma categoria para uma melhor visão geral. NOTA: Esta propriedade ainda não é usada. Planeja-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 ação do usuário, p.ex. apresentada na dica que aparece à passagem do mouse.

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

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

- Linha de comando: O comando que será executado. Você 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.

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

  - Rodar 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:

  - Arquivos 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 padrão: Configura um atalho padrão para a ação do usuário.

- Ativo: se estiver assinalada, a ação do usuário é apresentada no Menu do Usuário; caso contrário, a ação do usuário ficará oculta.

Sintaxe da linha de comando

Basicamente, tudo o que digitar na linha de comando será executado (se escrever "ls -l", "ls -l" será então executado). Você tem a possibilidade de obter uma sequência de caracteres do &krusader; que represente o estado atual 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 ativo, '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á que indicar isso com um sublinhado ('_')). Em seguida, vem o nome do item de substituição (veja a lista abaixo), o qual poderá obter alguns parâmetros delimitados por aspas. Finalmente, vem mais uma vez o símbolo de percentagem.

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

Atualmente, 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. Padrão: sim

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

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

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

- `Current` - substituído pelo item atual

  1. Parâmetro (opcional): Omitir a localização atual. Padrão: não

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

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

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

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

  3. Parâmetro (opcional): Omitir a localização atual. Padrão: não

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

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

- `Select` - manipula a seleçã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). Padrã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. Padrão: não

- `Ask` - pede algum texto ao usuário e é substituído pela resposta

  1. Parâmetro: A pergunta

  2. Parâmetro (opcional): Uma resposta padrã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 (você poderá querer usar o "%aCurrent%" aqui)

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

- `Copy` - copia um arquivo; é ú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 determinado perfil

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

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

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

- `Profile` - carrega um determinado perfil do painel

  1. Parâmetro: Um perfil do painel

- `Each` - divide a linha de comando numa lista. Estes comando são executados um após o outro.

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

- `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 ativo use 80% da largura do &krusader; (ou altura, no modo vertical). O padrão do parâmetro corresponde a 50%.

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

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

- `Script` - executa um arquivo em Javascript externo.

  NOTA: Isto ainda é experimental e a interface poderá mudar; as suas reações são sempre bem-vindas.

  1. Parâmetro: localização do arquivo 'nome.js' externo, sendo a localização absoluta ou relativa a `<dados-aplicações-kde>/krusader/js/`. O <dados-aplicações-kde> é o resultado do `$(kde-config --localprefix)/share/apps/` ou do `$(kde-config --prefix)/share/apps/`, para as pessoas que não saibam para onde copiar os programas/extensões. Se todos os arquivos necessários (normalmente o `.js` e talvez o `.ui`) estiverem numa destas pastas, será suficiente indicar o nome do arquivo apenas como <primeiro parâmetro>.

  2. Parâmetro (opcional): uma lista das variáveis que deverão ser definidas, como "return=cmd; a=lalala; b='%_Ask(..)'", de modo que os itens substituição sejam substituídos pelo conteúdo da variável 'cmd' e os outros parâmetros tenham já esses valores quando o programa for iniciado.

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

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

- `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 padrã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 no momento da expansão (o que significa diretamente quando são avaliados os itens de substituição). Os programas externos são chamados no momento da execução (o que significa após a avaliação de todos os itens de substituição).

Propriedades Avançadas

Aqui você poderá configurar onde o seu comando deverá estar visível (para o menu do botão direito do mouse). Além disso, é possível alterar o comando executado e confirmá-lo em separado. Poderá também definir um usuário com o qual deverá ser executado o comando.

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

- Ajusta a linha de comando antes de a executar.

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