1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
|
<chapter id="tinkering-under-the-hood">
<!-- Uncomment the <*info
> below and add your name to be -->
<!-- credited for writing this section. -->
<!--
<chapterinfo>
<authorgroup>
<author>
<firstname
>Your First Name here</firstname>
<surname
>Your Surname here </surname>
</author>
</authorgroup>
</chapterinfo>
-->
<title
>Trabalhar nos Bastidores do &kde;</title>
<sect1 id="hand-editing-config-files">
<sect1info>
<author
><personname
> <firstname
>Nicolas</firstname
> <surname
>Goutte</surname
> </personname
> <email
>goutte@kde.org</email
> </author>
</sect1info>
<title
>Editar à Mão os Ficheiros de Configuração</title>
<sect2 id="hand-editing-intro">
<title
>Introdução</title>
<para
>No &kde;, os ficheiros de configuração são fáceis de alterar com um editor de texto simples como o &kate;, dado que os ficheiros de configuração são ficheiros de texto.</para>
<para
>Um exemplo de um ficheiro de texto:</para>
<programlisting
>[Geral]
AutoGravar=1
UltimoFicheiro=/var/tmp/teste.txt</programlisting>
<para
>Os ficheiros de configuração de um utilizador estão em <filename class="directory"
>.kde/share/config</filename
> (substitua o <filename
>.kde</filename
> pela sua variável de ambiente $<envar
>TDEHOME</envar
>) e os globais estão na subpasta <filename class="directory"
>share/config</filename
> do local onde o KDE foi instalado. (Poderá encontrar esta localização se executar o comando <command
>tde-config --prefix</command
>.) Os seus nomes terminam normalmente em 'rc' (sem um ponto inicial), como por exemplo <filename
>kopeterc</filename
>.</para>
<warning
><para
>Contudo, os ficheiros de configuração editados manualmente, podem comprometer a estabilidade do seu &kde;. A maioria das aplicações não verificam o que lêem dos seus ficheiros de configuração e poderão ser prejudicadas pelo que obtêm da sua configuração, fazendo com que a aplicação inclusive estoire.</para
></warning>
</sect2>
<sect2 id="hand-editing-backups">
<title
>Cópias de Segurança</title>
<para
>Por isso, a primeira regra é fazer uma cópia de segurança do seu ficheiro antes de o modificar. A cópia de segurança deverá ser guardada fora de qualquer subpasta da <filename class="directory"
>.kde</filename
> (ou da pasta correspondente a $<envar
>TDEHOME</envar
>). As cópias de segurança são sempre uma boa ideia no caso de uma falha geral do &kde; que destrua os ficheiros de configuração importantes (como por exemplo as suas opções do &kmail;, que se encontram no ficheiro <filename
>kmailrc</filename
>). (Uma falha grande dessas não deveria acontecer, mas pode à mesma ocorrer.)</para>
</sect2>
<sect2 id="hand-editing">
<title
>Edição</title>
<para
>Assim, para quê mexer nos ficheiros de configuração? Bem, primeiro, é necessário se quiser obrigar o uso do modo KIOSK. Talvez um programador lhe tenha pedido para adicionar um item que o ajude a depurar um erro. Talvez queira recuperar de um problema sem ter de remover toda a pasta <filename class="directory"
>.kde</filename
>. Talvez queira aprender mais sobre os detalhes do &kde;.</para>
<para
>De qualquer forma, seja qual for a razão, poderá desejar modificar à mão um ficheiro de configuração.</para>
<para
>Ao planear editar um ficheiro desses, certifique-se que a aplicação que o usa não está a correr. Se for um dos ficheiros de configuração, pense em editar o ficheiro enquanto o &kde; não está a correr de todo.</para>
<para
>Está pronto? Faça então uma cópia de segurança (já foi dito alguma vez?), inicie o seu editor favorito (assumindo neste caso o &kate;), abra o ficheiro (tenha o cuidado de o carregar como UTF-8, dado que o &kate; o mostra <quote
>utf8</quote
>).</para>
<para
>Agora terá um ficheiro do tipo:</para>
<programlisting
>[Grupo]
Chave1=Valor1
Chave2=Valor2
Chave3=Valor3</programlisting>
<para
>Poderá agora modificá-lo (com cuidado!) e depois gravá-lo (garantido outra vez que é <acronym
>UTF-8</acronym
>).</para>
<para
>Agora, poderá testar a aplicação e, se esta não executar mais correctamente, feche-a e reponha a cópia de segurança.</para>
<itemizedlist>
<title
>Informação Relacionada</title>
<listitem
><para
><xref linkend="kde-for-administrators"/> tem mais informações sobre a estrutura de pastas do &kde;, de modo a ajudá-lo a encontrar o ficheiro que precisa de editar.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="scripting-the-desktop">
<title
>Programar o Ambiente de Trabalho</title>
<para
>O &kde; oferece um sistema de comunicação entre processos poderoso chamado &DCOP;, o Desktop COmmunication Protocol. Ao usar o &DCOP;, pode controlar uma grande quantidade de funções do &kde; a partir da linha de comandos ou a partir de um programa feito na sua linguagem de programação favorita. Poderá também obter informações fora das aplicações do &kde;: por exemplo, vários leitores multimédia do &kde; oferecem métodos para pesquisar por determinada informação no leitor sobre a faixa que está a tocar de momento.</para>
<para
>Falando de um modo abrangente, cada aplicação do &kde; oferece uma ou mais <firstterm
>interfaces</firstterm
> de &DCOP; que, por sua vez, oferecem métodos (ou, se preferir, funções) que outra aplicação poderá então invocar. Como tal, o primeiro passo ao usar o &DCOP; é descobrir o método apropriado para a tarefa. A forma mais simples de fazer isto é com a interface <application
>kdcop</application
> para os métodos de &DCOP; disponíveis.</para>
<para
>Execute o <application
>kdcop</application
> a partir de um &konsole; ou da mini-linha de comandos (a janela que aparece com o <keycombo action="simul"
>&Alt;<keycap
>F2</keycap
> </keycombo
>). A janela do <application
>kdcop</application
> mostra as aplicações que estão a correr de momento e que oferecem interfaces de &DCOP;, recorrendo a uma árvore para tal. De um modo geral, a escolha do método correcto obriga a alguma pesquisa pela árvore, mas uma sugestão útil é que a interface marcada como <quote
>(default)</quote
> (por omissão), contém normalmente as funções usadas com mais frequência.</para>
<para
>Para testar se a função faz o que se pretende, faça duplo-click por exemplo no item <guilabel
>setColor</guilabel
>. Para escolher a cor <varname
>c</varname
>, carregue no botão de selecção de cores e escolha uma. Indique se a cor deverá ser a cor A com a opção para assinalar. Carregue em <guilabel
>OK</guilabel
> para ver a cor de fundo modificada.</para>
<para
>Para aceder ao método de &DCOP; a partir da sua linguagem de programação favorita, poderá tanto usar as interfaces de &DCOP; existentes, se estiverem disponíveis no módulo 'tdebindings', ou então invocar a aplicação da linha de comandos <command
>dcop</command
>. Para uma utilização simples, a invocação da aplicação da linha de comandos <command
>dcop</command
> é suficiente. Para invocar um método de &DCOP; desta forma, é necessário indicar a aplicação e a interface que possui o método, o método em si e os argumentos, num formato adequado para a linha de comandos.</para>
<para
>É indicada a aplicação, a interface e o método exactamente por essa ordem, seguido dos argumentos pela mesma ordem que são apresentados no <application
>kdcop</application
>. O <command
>dcop</command
> tem outras opções diversas: dê uma vista de olhos no resultado do <userinput
><command
>dcop</command
> <option
>--help</option
></userinput
>.</para>
<para
>Já chega de teoria: está na altura de um exemplo:</para>
<example>
<title
>Um Programa de Mudança da Cor de Fundo com o &DCOP;</title>
<para
>Com a aplicação da linha de comandos <command
>dcop</command
> e um pouco de Perl, vamos fazer então um pequeno programa que mude lentamente o fundo do ecrã, percorrendo o espectro de cores.</para>
<para
>Em primeiro lugar, terá de se procurar o método apropriado com o <application
>kdcop</application
>. Para este exemplo, passar-se-á um pouco ao lado da procura e vai-se usar o método directamente: o método que se pretende é o <menuchoice
><guimenu
>kdesktop</guimenu
><guisubmenu
>KBackgroundIface</guisubmenu
><guimenuitem
>setColor</guimenuitem
> </menuchoice
>. Os argumentos e o tipo do valor devolvido da função são mostrados com o estilo da linguagem C++. Para o caso do <methodname
>setColor</methodname
>, os argumentos são uma cor <varname
>c</varname
> que define a nova cor de fundo e um valor booleano ('true' ou 'false'), <varname
>isColorA</varname
>, que define se a cor é a primeira ou a segunda (isto é útil para definir gradientes, por exemplo).</para>
<para
>Para usar o método <methodname
>setColor</methodname
> na linha de comandos, usar-se-á o seguinte: <screen
><prompt
>%</prompt
> <userinput
><command
>dcop</command
> kdesktop KBackgroundIface setColor '#ffffff' false</userinput
>
</screen>
</para>
<para
>Para indicar a cor, é usado o valor RGB em hexadecimal, como é usado no &HTML;. Repare que este está delimitado por plicas, para proteger o <token
>#</token
> da linha de comandos.</para>
<para
>Para descobrir o valor RGB em hexadecimal de uma cor, abra qualquer janela de selecção de cores numa aplicação do &kde; (como, por exemplo, o &kcontrolcenter;, em <menuchoice
><guimenu
>Aparência & Temas</guimenu
><guimenuitem
>Cores</guimenuitem
> </menuchoice
>), seleccione a cor que deseja e use o valor indicado no campo de texto <guilabel
>HTML</guilabel
>.</para>
<para
>Assim, é tudo o que é necessário do &DCOP;; agora, é apenas necessário criar um programa em torno dele. Aqui está uma implementação (muito!) rudimentar: <programlisting
><![CDATA[
$min=49; # Valor mínimo da cor R, G ou B
$max=174; # Valor máximo da cor R, G ou B
$passo=5; # Quantidade a incrementar em cada passo e cor
$espera=15; # Intervalo em segundos entre cada iteração
@inicio = ($max, $min, $min);
@cor = @inicio;
while (1) {
foreach (0..5) {
my $qual = $_ % 3; # Qual a cor (R, G ou B) a alterar
my $cima_baixo = $_ % 2; # Se deseja aumentar ou diminuir o valor
do {
if ($cima_baixo == 0) { $cor[$qual]+=$passo; }
if ($cima_baixo == 1) { $cor[$qual]-=$passo; }
my $chamada=sprintf "dcop kdesktop KBackgroundIface setColor '#%x%x%x' true\n", @cor;
system($chamada);
sleep $espera;
} while (($cor[$qual]
>= $min) and ($cor[$qual] <= $max));
}
}
]]>
</programlisting>
</para>
<para
>Basta executar o programa sem argumentos, para que ele circule a cor de fundo por um espectro bem definido, até que seja morto. <foreignphrase
>Voilà</foreignphrase
>!</para>
</example>
<para
>Claro que o Perl não é a única linguagem que poderá usar para fazer programas com o &DCOP;—se preferir o 'shell scripting', também está disponível:</para>
<example>
<title
>Aplicar um fundo da Internet</title>
<para
>O seguinte programa obtém a imagem principal da página de banda desenhada <quote
>User Friendly</quote
> e coloca-a como papel de parede do ecrã, usando as ferramentas normais disponíveis e um pouco de &DCOP;:</para>
<programlisting
><![CDATA[
#!/bin/sh
COMICURL=`wget -qO - http://www.userfriendly.org/static/index.html | \
grep Latest | sed -e "s,.*SRC=\",," -e "s,\"
>.*,,"`
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
wget -q -O $TMPFILE $COMICURL
dcop kdesktop KBackgroundIface setWallpaper $TMPFILE 1
]]>
</programlisting>
<para
>A primeira linha após o '#!/bin/sh' usa o <command
>wget</command
> e alguma magia de expressões regulares para extrair a localização da imagem do código em &HTML; da página principal. A segunda e terceira linhas irão obter a imagem e, finalmente, o <command
>dcop</command
> aplica a imagem transferida como papel de parede.</para>
</example>
<!-- <itemizedlist>
<title
>Related Information</title>
<listitem
><para
>to be written</para>
</listitem>
</itemizedlist
> -->
</sect1>
<sect1 id="adding-extra-keys">
<title
>Adicionar Atalhos de Teclado Extra para o &kde;</title>
<para
>Muitos teclados modernos contêm teclas extra que não estão atribuídas por omissão a nenhuma acção.</para>
<para
>As teclas <quote
>Multimédia</quote
> geram normalmente um sinal e podem simplesmente ser escolhidas como uma combinação de teclas dentro de uma aplicação, como quem escolhe uma tecla qualquer. Algumas das teclas, todavia, não são detectadas e, se carregar nelas no <guilabel
>Configurar os Atalhos</guilabel
>, não fará efeito.</para>
<para
>Alguns portáteis da IBM, por exemplo, têm teclas extra em torno dos cursores esquerdo e direito, e que parecem um <guiicon
>Page Left</guiicon
> e um <guiicon
>Page Right</guiicon
>.</para>
<procedure>
<step
><para
>Use o <command
>xev</command
> para descobrir o código das teclas. Neste caso, este é o 233 e o 234, respectivamente </para
></step>
<step
><para
>Escolha os símbolos das teclas. Existe alguns intervalos que não são usados por omissão, por isso muitos estão livres. Poderá encontrar a lista em <filename
>/usr/X11R6/include/X11/keysymdef.h</filename
> (ou o equivalente no seu sistema).</para
></step>
<step
><para
>Crie um ficheiro na sua pasta pessoal chamado <filename
>.Xmodmap</filename
> e adicione o seguinte a ele:</para>
<screen
>keycode 233 = Next_Virtual_Screen
keycode 234 = Prev_Virtual_Screen</screen>
</step>
<step
><para
>Execute o comando <userinput
><command
>xmodmap</command
> <filename
>~/.Xmodmap</filename
></userinput
></para
></step>
</procedure>
<para
>Nesta altura, deverá ser capaz de executar o <command
>xev</command
> de novo e ver que as teclas geram agora o símbolo da tecla que atribuiu. Poderá agora atribuir esses símbolos a qualquer acção, como de costume.</para>
<itemizedlist>
<title
>Informação Relacionada</title>
<listitem
><para
>A página de manual do <command
>xev</command
>. Poderá ver isso se executar <userinput
>man:/xev</userinput
> numa janela do &konqueror; ou se executar <userinput
><command
>man</command
> xev</userinput
> num terminal.</para
></listitem>
</itemizedlist>
</sect1>
<sect1 id="keys-for-scripts">
<title
>Adicionar Combinações de Teclas às Acções Novas</title>
<para
>A maioria das acções do ecrã ou das aplicações estão logo disponíveis para poder associar uma combinação de teclas. Se a acção a que deseja atribuir um atalho foi algo criado por si ou que ainda não esteja disponível, você poderá à mesma atribuir um atalho.</para>
<para
>Para reunir as duas secções anteriores, talvez queira atribuir uma tecla não usada do seu teclado a um programa ou comando de DCOP. O exemplo aqui será então atribuir as duas teclas que foram adicionadas em <xref linkend="adding-extra-keys"/> para ir para o ecrã virtual anterior ou o seguinte, ou seja, duas funções para as quais irá necessitar do DCOP (tal como foi descrito em <xref linkend="scripting-the-desktop"/>.</para>
<para
>Isto pode ser conseguido facilmente com o seguinte método:</para>
<procedure>
<step>
<para
>Abra o &kcontrol; na secção <guilabel
>Regional & Acessibilidade</guilabel
>, mais concretamente no <guilabel
>Acções de Entrada</guilabel
></para>
</step>
<step>
<para
>Escolha a <guibutton
>Nova Acção</guibutton
></para>
</step>
<step>
<para
>Dê um nome à acção nova, ⪚ <userinput
>Próximo Ecrã Virtual</userinput
></para>
</step>
<step>
<para
>Seleccione o <guilabel
>Atalho de teclado -> Comando/URL (simples)</guilabel
> para o <guilabel
>Tipo de acção:</guilabel
></para>
</step>
<step>
<para
>Na página do <guilabel
>Atalho do Teclado</guilabel
>, carregue no botão que deseja usar para despoletar o comando. Para este exemplo, iria carregar na tecla com a imagem do <guiicon
>Próxima Página</guiicon
> nele. O <keysym
>Next_Virtual_Screen</keysym
> irá aparecer na imagem da tecla.</para>
</step>
<step>
<para
>Na página do <guilabel
>Configuração do Comando/URL</guilabel
>, indique o comando a executar no campo: <userinput
><command
>dcop twin default nextDesktop</command
></userinput
></para>
</step>
</procedure>
<para
>Repita os passos anteriores com a tecla <keysym
>Prev_Virtual_Screen</keysym
> e a acção <userinput
><command
>dcop twin default previousDesktop</command
></userinput
>.</para>
<para
>Agora, se carregar nas teclas <keysym
>Prev_Virtual_Screen</keysym
> ou <keysym
>Next_Virtual_Screen</keysym
>, irá mudar para o ecrã virtual anterior ou o próximo, respectivamente.</para>
<para
>Obviamente, poderá atribuir qualquer tecla livre a qualquer acção.</para>
<itemizedlist>
<title
>Informação Relacionada</title
>
<listitem
><para
>Veja a documentação do <application
>KHotKeys</application
> no &khelpcenter;, ou escreva <userinput
>help:/khotkeys</userinput
> numa janela do &konqueror;.</para
></listitem
>
<listitem
><para
><xref linkend="adding-extra-keys"/></para
></listitem>
<listitem
><para
><xref linkend="scripting-the-desktop"/></para
></listitem>
</itemizedlist>
</sect1>
<sect1 id="kdebugdialog">
<sect1info>
<authorgroup>
<author
><personname
> <firstname
>Adriaan</firstname
> <surname
>de Groot</surname
> </personname
> <email
>groot@kde.org</email
> </author>
</authorgroup>
</sect1info>
<title
>&kdebugdialog; - Controlar o Resultado da Depuração do &kde;</title>
<sect2 id="kdebugdialog-basic-usage">
<title
>Utilização Básica</title>
<para
>O &kdebugdialog; não está no &kmenu; por omissão. Terá de o executar na linha de comandos ou na mini-janela de execução de comandos com <userinput
><command
>kdebugdialog</command
></userinput
>. O &kdebugdialog; mostra uma janela com uma lista grande de áreas de depuração. Cada área tem uma opção que poderá ligar ou desligar para activar ou desactivar o resultado de depuração dessa parte do &kde;.</para>
<para
>A lista de áreas de depuração vem ordenada numericamente, não alfabeticamente, como tal o tdeio (127) vem antes do artskde (400). Os números vão até perto de 200 000, mas normalmente só existem 400 áreas. Não terá de percorrer a lista completa para encontrar a área que precisa. Existe um campo de texto no topo da janela, onde poderá indicar uma parte do nome da área que deseja. A lista de itens que é apresentada é filtrada de modo a incluir apenas as áreas de depuração que contêm o texto que introduziu, ⪚ se introduzir <userinput
>k</userinput
> não irá filtrar muito mas, se indicar <userinput
>kont</userinput
>, deverá aparecer apenas as áreas de depuração do &kontact;. Como uma forma mais rápida de activar ou desactivar o resultado de depuração, existe também os botões para <guibutton
>seleccionar tudo</guibutton
> e <guibutton
>deseleccionar tudo</guibutton
>, que fará com que o &kde; produza bastantes dados de depuração, ou quase nenhuns.</para>
</sect2>
<sect2 id="kdebugdialog-fullmode">
<title
>O KDebugDialog no modo completo</title>
<!-- this text partly taken from the kdebugdialog handbook -->
<para
>No modo completo, que é o que você irá obter ao executar o KDebugDialog como <userinput
><command
>kdebugdialog</command
> <option
>--fullmode</option
></userinput
>, fica disponível a mesma lista de áreas de depuração, podendo seleccionar apenas uma de cada vez numa lista. Poderá então definir o resultado para os vários tipos de mensagens: Informação, Aviso, Erro e Erro Fatal. Para cada um destes tipos, poderá escolher para onde são enviadas as mensagens. As opções são:</para>
<para
>Ficheiro, onde terá de indicar o nome de um ficheiro. Este será escrita na sua pasta $<envar
>HOME</envar
>.</para>
<para
>Janela de Mensagem. Cada mensagem de depuração é mostrada numa janela de informação, pelo que terá de carregar em <guibutton
>OK</guibutton
> para continuar com a a aplicação.</para>
<para
>Linha de Comandos, o item por omissão. As mensagens são impressas no 'stderr' e irão aparecer tanto na janela da linha de comandos em que a aplicação foi iniciada, como no <filename
>.xsession-errors</filename
>.</para>
<para
>Syslog. Este envia cada mensagem de depuração para a funcionalidade de registo do sistema ('syslog'), o qual poderá efectuar um processamento prévio da mensagem.</para>
<para
>Nenhum. Isto elimina o resultado deste tipo de mensagem.</para>
<para
>Para as mensagens geradas pelos erros fatais, é normalmente uma má ideia escolher o Nenhum ou o Syslog, dado que em ambos os casos poderá não ver a mensagem e a aplicação que obtenha o erro fatal irá desaparecer ser deixar uma razão do seu desaparecimento. Se a aplicação desaparecerá ou não no caso de um erro fatal, poderá ser definido na opção <guilabel
>Abortar nos erros fatais</guilabel
>, que está assinalada por omissão — mas poderá contar à mesma que uma aplicação estoire (de forma confusa) se for encontrado um erro à mesma.</para>
<!-- Add links to "further reading" here -->
<!-- <itemizedlist>
<title
>Related Information</title>
<listitem
><para
>to be written</para>
</listitem>
</itemizedlist
>-->
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:("index.docbook" "book" "chapter")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
|