# O Manual do &konsolekalendar;

Tuukka Pasanen

    illuusio@mailcity.com

Allen Winter

    awinterz@users.sourceforge.net

Malcolm Hunter

    malcolm.hunter@gmx.co.uk

Revisão
Marcus Gama

    marcus_gama@uol.com.br

Tradução
2002 2004 Tuukka Pasanen
2003 2005 Allen Winter
&FDLNotice;
2004-04-15
1.1.1

O &konsolekalendar; é uma interface de linha de comando para os calendários do &kde;.

KDE &package; &kappname; KOrganizer

## Introdução

O &konsolekalendar; é uma interface para a linha de comando dos calendários do &kde;. Ele permite ver, inserir, remover ou modificar os eventos do calendário, através da linha de comando ou de uma linguagem de programação. Além disso, o &konsolekalendar; poderá criar um novo calendário do &kde;, exportar um calendário do &kde; para uma variedade de outros formatos e importar outro calendário do &kde;.

No seu modo básico, o &konsolekalendar; mostra a lista de eventos no seu calendário padrão para o dia atual (das 7:00 às 17:00).

Principais recursos do &konsolekalendar;:

- Ver entradas no calendário desde a data/hora inicial à data/hora final

- Inserir (adicionar) entradas no calendário

- Remover (apagar) entradas do calendário

- Modificar (alterar) entradas no calendário

- Criar um novo calendário

- Exportar entradas de calendário para outros formatos de arquivo

- Importar um calendário existente do &kde;

O &konsolekalendar; não é outra interface gráfica para os calendários do &kde; (como o &korganizer;). O &konsolekalendar; pretende destinar-se apenas a ser usado em situações em que uma interface gráfica não seja prática ou possível.

O &konsolekalendar; não oferece uma linguagem completa para efetuar pesquisas no calendário do usuário: nem é intenção dos autores criar sequer algum recurso desse tipo. São oferecidas as opções da linha de comando primitivas para acessar aos eventos do calendário, dentro de um determinado intervalo consecutivo de datas/horas.

## Recursos

Neste capítulo você irá aprender um pouco mais sobre os recursos principais do &konsolekalendar; e como poderá controlá-los com os parâmetros da linha de comando (lembre-se que o &konsolekalendar; não é nenhuma interface gráfica; é um programa apenas para a linha de comando).

Você irá aprender a inserir, remover e modificar os eventos do calendário e a exportá-los para outros formatos de arquivos. A criação e a importação dos calendários do &kde; também será tratada neste capítulo.

### Vendo Eventos

No seu modo padrão, ou usando a opção --view, o &konsolekalendar; irá listar todos os eventos que ocorrem num determinado intervalo de datas/horas.

Para ver todos os eventos de hoje (das 7:00 às 17:00), execute simplesmente:

    % konsolekalendar

No próximo exemplo, nós veremos todos os eventos na semana de 18-22 de Agosto:

    % konsolekalendar --view --date 2003-08-18  --end-date 2003-08-22

Mostrar o(s) próximo(s) evento(s) no calendário da hora atual a seguir:

    % konsolekalendar --next

Para ver todos os eventos nos próximos 5 dias execute:

    % konsolekalendar --show-next 5

### Inserindo Eventos

O &konsolekalendar; poderá inserir eventos num calendário do &kde; ou recursos de calendário com o argumento da linha de comando --add. Os eventos que forem inseridos com sucesso serão apresentados imediatamente nas aplicações de calendário do &kde; (como o &korganizer;).

No exemplo a seguir será introduzido um evento que começa a 04/06/2003 (4 de Junho de 2003) às 10:00 e a termina às 12:00 com o resumo "Ida ao Médico" no recurso de calendário padrão do usuário:

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary "Ida ao Médico"

Neste exemplo, um evento de aniversário é adicionado ao calendário padrão do usuário:

    % konsolekalendar --add --date 2003-06-06 --summary "O Meu Aniversário" \
    --description "Grande Festa"

Aqui férias de uma semana são inseridas no calendário compartilhado férias:

    % konsolekalendar --add --file férias.ics --date 2003-08-01 \
    --end-date 2003-08-07 --summary "Férias" --description "Ninguém me vai encontrar!"

### Removendo Entradas

O &konsolekalendar; suporta a remoção de itens de um arquivo ou recurso de calendário com o argumento da linha de comando --delete. Os itens do calendário a seren removidos são identificados pelo seu identificador único em texto (UID) com a opção --uid. Os UIDs são obtidos através de uma primeira visualização do eventos com a opção --view.

Os eventos apagados com sucesso são removidos imediatamente das aplicações de calendário do &kde; (por exemplo o &korganizer;).

Quando você remover algo do calendário, não poderá anular este passo! Em outras palavras, quando remover um determinado item, você não poderá anular a remoção. Já era.

Aqui apagamos um item no calendário com o UID &konsolekalendar;-1887551750.196:

    % konsolekalendar --delete --uid &konsolekalendar;-1887551750.196

### Modificando Itens

O &konsolekalendar; suporta a modificação de itens existentes de um arquivo ou recurso de calendário com o argumento da linha de comando --change. Os itens do calendário a serem modificados são identificados pelo seu identificador único em texto (UID) com a opção --uid. Os UIDs são obtidos através de uma primeira visualização do eventos com a opção --view.

A alteração funciona da mesma forma que a inserção: você poderá alterar a data de início e de fim, o resumo, a localização e a descrição. Os eventos que forem alterados com sucesso serão mostrados imediatamente com essas modificações nas aplicações de calendário do &kde; (como o &korganizer;).

Exemplo: Aqui mudamos o sumário e a descrição de uma entrada de calendário com o UID &konsolekalendar;-1887551750.196:

%``konsolekalendar` `--change` `--uid &konsolekalendar;-1887551750.196` `--summary "Examinar a minha cabeça"` `--description "não voltar aquele médico!"``

### Criando um Novo Arquivo de Calendário

O &konsolekalendar; pode ser usado para criar um novo arquivo de calendário do &kde;. Uma vez que você não poderá inserir um item num calendário que não exista, você precisa criar primeiro o arquivo com os argumentos de linha de comando --create e --file.

Criar um arquivo de calendário chamado `/data/share/calendars/férias.ics`:

    % konsolekalendar --create --file /data/share/calendars/férias.ics

### Exportando para Outros Formatos

O &konsolekalendar; poderá exportar um calendário do &kde; para outros formatos conhecidos. A exportação é uma forma especial de visualização. Por padrão, os eventos são visualizados no formato de texto do &konsolekalendar;. Para alterar o formato de visualização, use o argumento da linha de comando --export-type.

Para ver uma lista de todos os formatos de exportação suportados, utilize a opção --export-list, desta forma:

    % konsolekalendar --export-list

### Formatos de Exportação

Alguns, mas não necessariamente todos, dos formato suportados são descritos nesta seção.

#### Formato de Texto do &konsolekalendar;

O Formato de Texto do &konsolekalendar; é o formato nativo do &konsolekalendar; e está desenhado para ser confortável de ler e ser analisado por outros programas.

O Formato de Texto do &konsolekalendar; é:

    Data:\t<Data da Ocorrência>(dddd aaaa-MM-dd)
    [\t<Hora de Início da Ocorrência>(hh:mm) - <Hora de Fim da Ocorrência>(hh:mm)]
    Sumário:
    \t<Sumário da Ocorrência | "(sem sumário disponível)">
    Localização:
    \t<Localização da Ocorrência | "(sem localização disponível)">
    Descrição:
    \t<Descrição da Ocorrência | "(sem descrição disponível)">
    UID:
    \t<UID da Ocorrência>
    --------------------------------------------------

Por exemplo:

    Data:   Terça-feira 2003-11-01
            08:00 - 09:00
    Sumário:
            Reunião do Pessoal
    Local:
            Sala de Conferências
    Descrição:
            Reunião com todo o pessoal para discutir o projecto.
    UID:
            &konsolekalendar;-1128954167.1013
    --------------------------------------------------

#### Formato de Textol Abreviado do &konsolekalendar;

O Formato de Texto Abreviado oferece uma versão mais compacta e menos descritiva do formato nativo do &konsolekalendar;.

O Formato de Texto Abreviado do &konsolekalendar; é:

    [--------------------------------------------------]
    {<Data da Ocorrência>(dddd aaaa-MM-dd)]
    [<Hora de Início da Ocorrência>(hh:mm) - <Hora de Fim da Ocorrência>(hh:mm) | "\t"]
    \t<Sumário da Ocorrência | \t>[, <Localização da Ocorrência>]
    \t\t<Descrição da Ocorrência | "\t">

Por exemplo:

    --------------------------------------------------
    Terça-feira 2003-11-01
    08:00 - 09:00   Reunião com o Pessoal, Sala de conferência
                    Reunião com todo o pessoal para discutir o projecto.

#### Formato "Comma-Separated Values" (CSV)

O Formato de Valores Separados por Vírgulas ('Comma-Separated Value' ou CSV) mostra os valores dos eventos na mesma ordem que o formato de Texto do &konsolekalendar;. A única diferença é que toda a informação fica na mesma linha, com cada campo separado por uma vírgula. Os arquivos exportados poderão ser importados diretamente nos programas de planilha como o &kspread;, o Calc do OpenOffice.org e o &Microsoft; Excel. Do mesmo modo, o formato CSV é fácil de processar por outros programas.

O Formato de Valores Separados por Vírgulas (CSV) é:

    AAAA-MM-DD,HH:MM,AAAA-MM-DD,HH:MM,Sumário,Local,Descrição,UID

Por exemplo:

    2003-11-01,08:00,2003-11-01,09:00,Reunião de Pessoal,Sala de Conferências,Encontro na sala grande de conferências \
    com o pessoal todo.,&konsolekalendar;-1128954167.1013

#### Formato HTML

O formato de exportação em HTML irá produzir um arquivo HTML válido que poderá ser publicado na WWW. Este formato de exportação não é adequado para o processamento por programas posteriores, mas é bastante bom para publicar calendários para uma visualização mais simples.

TODO: Inserir captura de tela aqui

#### Formato HTMLmonth

Este formato produz um arquivo HTML mostrando todos os compromisso nos meses especificados pelo intervalo de datas. Este formato de exportação não é adequado para um script de análise, mas é muito bom para publicar calendários para visualização fácil pelo público.

TODO: Inserir captura de tela aqui

### Importando Calendários

O &konsolekalendar; poderá importar um arquivo de calendário ICS para um calendário do &kde;. Todos os eventos do calendário a serem importados serão introduzidos, incluindo os eventos idênticos. Na próxima versão do &konsolekalendar;, os eventos idênticos não serão introduzidos.

Para importar o arquivo de calendário `outro.ics` para o calendário `atual.ics` execute:

    % konsolekalendar --import outro.ics --file atual.ics

## Argumentos da Linha de Comando

&konsolekalendar; pode receber as seguintes opções:

Opção | Descrição
--- | ---
`--help, --help-all` | Mostra ajuda sobre as opções do programa.
`--author` | Mostra informações sobre o autor do programa.
`-v, --version` | Mostra informações da versão do programa.
`--license` | Mostra informações da licença do programa.
`--verbose` | Imprime mensagens úteis durante a execução.
`--dry-run` | Imprime o que teria sido feito, mas sem executar nada. Não altera nenhum arquivo, nem insere, remove, modifica o conteúdo de qualquer arquivo, ou mesmo cria quaisquer arquivos novos.
`--file` arquivo-do-calendário | Indica um arquivo de calendário a utilizar. Se não for indicado nada, então será usado o seu recurso do &korganizer; padrão.
Modos Principais de Operação:
`--view` | Imprime eventos de calendário no formato de exportação indicado.
`--add` | Insere um evento no calendário.
`--change` | Modifica um evento atual do calendário.
`--delete` | Remove um evento existente do calendário.
`--create` | Cria um novo arquivo de calendário, se não existir nenhum.
`--import` arquivo-a-importar | Importa este calendário para o calendário principal.
Modificadores de operação:
`--all` | Ver todas as entradas no calendário.
`--next` | Ver a próxima atividade no calendário.
`--show-next` dias | Começando na data indicada, irá mostrar as atividades dos próximos 'n' dias.
`--uid` UID | Vê, modifica ou altera o evento com este identificador de texto único.
`--date` data | Começa no dia indicado por [AAAA-MM-DD]. A data padrão é a de hoje.
`--time` hora | Começa a esta hora [HH:MM]. A hora padrão de visualização é as 07:00. Para adicionar ou alterar um evento flutuante, use as opções `--time float` ou `--end-time float`.
`--end-date` data-final | Termina neste dia, identificado por [AAAA-MM-DD]. O valor padrão é definido pelo `--date`.
`--end-time` hora-final | Termina nesta hora [HH:MM]. O valor padrão para a visualização é as 17:00. Para adicionar ou alterar um evento flutuante, use as opções `--time float` ou `--end-time float`.
`--epoch-start` tempo-época | Iniciar neste momento [segundos depois da época].
`--epoch-end` tempo-época | Acabar neste momento [segundos depois da época].
`--summary` sumário | Adiciona o sumário ao evento (funciona com adicionar e modificar).
`--description` descrição | Adiciona a descrição ao evento (funciona com adicionar e modificar).
`--location` localização | Adiciona a localização ao evento (funciona com adicionar e modificar).
Opções de exportação:
`--export-type` tipo-de-exportação | O tipo do arquivo de exportação. O tipo de exportação padrão é o Texto
`--export-file` arquivo-de-exportação | Exporta para um arquivo. Por padrão, o resultado é enviado para o 'standard output'.
`--export-list` | Imprime a lista de formatos de exportação suportados e sai.

## Perguntas e Respostas

&reporting.bugs; &updating.documentation;

Que arquivos de configuração o &konsolekalendar; utiliza?

Nenhum.

Quais são os nomes das aplicações do &konsolekalendar;?

O nome da aplicação do &konsolekalendar; é konsolekalendar.

Qual é o formato das datas?

O &konsolekalendar; irá rejeitar as datas indicadas na linha de comando, a menos que sejam indicadas de acordo com a norma ISO 8601, nomeadamente o seguinte formato: AAAA-MM-DD, onde o AAAA representa um ano com quatro algarismos (como o 2003), o MM representa um mês com dois algarismos (01,02,..,12) e o DD representa um dia com dois algarismos (01,02,...,31).

O &konsolekalendar; exporta sempre datas de acordo com o formato ISO 8601.

Qual é o formato das horas?

O &konsolekalendar; irá rejeitar as datas indicadas na linha de comando, a menos que sejam indicadas de acordo com a norma ISO 8601, nomeadamente o seguinte formato: HH:MM:SS, onde o HH representa uma hora com dois algarismos (01,02,...,24), o MM representa os minutos com dois algarismos (01,02,..,60) e o SS representa os segundos com dois algarismos (01,02,...,60).

O &konsolekalendar; exporta sempre horas de acordo com o formato ISO 8601.

Será que o &konsolekalendar; irá inserir um evento novo que seja idêntico a algum que já exista no calendário?

Não. Veja a próxima pergunta.

Como o &konsolekalendar; determina se um evento é idêntico a outro que já exista no calendário?

O &konsolekalendar; verifica a data/hora de início e fim, bem como o sumário, comparando-os com todos os eventos do calendário. Se ocorrer uma correspondência de eventos com os três valores para um determinado par de eventos, estes são idênticos.

Será que um evento não-flutuante poderá passar para flutuante?

Sim. Utilize a opção `--time float` com `--change`.

Porque os UIDs dos eventos são impressos na maioria dos formatos de exportação?

Porque você precisa indicar os UIDs para remover ou alterar eventos. Se você não quiser ver os UIDs dos eventos, então use o formato de exportação abreviado (`--export-type short`).

Como posso adicionar a minha dúvida a esta FAQ?

Envie as suas perguntas para illuusio@lycos.com.

## Créditos e Licença

&konsolekalendar; Direitos autorais do programa 2002,2003:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter awinterz@users.sourceforge.net

Direitos autorais da documentação 2003:

- Allen Winter awinterz@users.sourceforge.net

- Tuukka Pasanenilluusio@mailcity.com

Tradução de Marcus Gamamarcus_gama@uol.com.br

&underFDL; &underGPL;

## Instalação

### Como obter o &konsolekalendar;

&install.intro.documentation;

O &konsolekalendar; está incluído no &kde;3 e não está disponível separadamente.

### Requisitos

O &konsolekalendar; necessita de ter instaladas as bibliotecas-padrão do &kde; (o pacote `kdelibs`). Para compilar a partir do código, você precisa também dos pacotes de desenvolvimento do &Qt; e `kdelibs`.

Você pode encontrar uma lista de modificações no arquivo `ChangeLog`.

### Compilação e instalação

Esta seção dá uma idéia geral sobre o processo de compilação. Por favor veja o Compilando o &kde; 3.2.x para instruções mais completas.

Se não conseguir obter um pacote pré-compilado de binários, irá precisar compilar o &konsolekalendar; você mesmo a partir dos arquivos de código. Obtenha o pacote de código `kdepim-x.x.tar.bz2`. Descomprima-o numa nova pasta com um comando semelhante a ``tar` `xvfj pacote.tar.bz2`` e entre na pasta que foi criada.

&install.compile.documentation;

Se tiver mais de uma versão do &kde; instalada (⪚ o &kde;2 e o &kde;3), isto poderá instalar possivelmente o &konsolekalendar; na pasta errada do &kde;. Se for necessário, você poderá passar a pasta do &kde; como parâmetro do ``./configure``. Por exemplo, se o seu &kde; estiver instalado em `/opt/kde3`:

``./configure` --prefix=/opt/kde3`

### Configuração

Não é necessária nenhuma configuração especial para preparar o &konsolekalendar; para ser executado no ambiente de trabalho do &kde;.

&documentation.index;