
Ceci est un brouillon de docs pour Ol-Irc. Un travail monstrueux reste  fournir...
le principal tant la traduction en anglais :) Si quelqu'un veut s'y essayer... :)

Les docs finales devraient etre disponibles en HTML comme au format texte, et peut
etre en d'autres formats...


.../...


+---------------------------+
|                           |
|      Les Prfrences      |
|      ~~~~~~~~~~~~~~~      |
|                           |
+---------------------------+

Ol-Irc dispose (enfin, c'est en cours de dveloppement :) d'un systme de prfrences
assez original mais ( mon avis) trs puissant.

Les prfrences permettent  l'utilisateur de configurer Ol-Irc selon ses gouts personnels.
Pour le moment, peu de possibilits sont offertes, ( vrai dire, on peut juste rgler les
fontes dans la 0.0.34 :) mais dans le futur, Ol-Irc devrait tre configurable dans les
plus petits dtails.

Explication du systme de prfrences
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Chaque prfrence peut avoir une ou plusieurs valeurs possibles. Chacune de ces valeurs
peut tre associe  une srie de masques, permettant  Ol-Irc de dcider quand utiliser
telle valeur plutot que telle autre.

Je vais essayer d'expliquer ce systme  l'aide d'un exemple simple : la prfrence
"Font Normal".

Cette prfrence permet  l'utilisateur de choisir la fonte utilise pour afficher le
texte "normal" (ni gras, ni soulign) dans les fentres de Ol-Irc.

Quand Ol-Irc dmarre la premire fois, cette prfrence possde une seule valeur :
"-adobe-courier-medium-r-normal-*-12-*-*-*-m-*-iso8859-1" ". C'est donc cette fonte
l qui est utilise dans toutes les fentres, que ce soit des serveurs, channels
ou queries, tant que l'utilisateur ne modifie pas cette valeur.

Chaque prfrence possde donc au moins une valeur, qui est appelle "valeur par dfaut".
Cette valeur par dfaut est la seule valeur qui ne soit associe  aucun masque particulier.
Chaque prfrence possde une valeur par dfaut lorsque Ol-Irc est dmarr la premire fois.

Mais il est possible d'associer autant d'autres valeurs que l'on veut  la plupart des
prfrences. Par exemple, dans le cas de la prfrence "Font Normal", l'utilisateur
pourrait vouloir utiliser une fonte plus petite que la fonte par dfaut dans les fentres
de type DCC Chat, et une fonte plus grosse dans les fentres de channels. L'utilisateur
pourrait mme aller jusqu' vouloir une fonte non proportionnelle dans les fentres DCC Chat
ouvertes avec des utilisateurs ayant pour hostmask "*!eggdrop@*.foo.bar"; et pourquoi pas,
tant qu'on y est, une fonte  caratres cyriliques dans toutes les fentres de channels 
du rseau "IrcNet" ayant pour nom "#russia*"...

C'est l que la puissance du systme de prfrences de Ol-Irc commence  se dvoiler. Essayez
donc de faire cel avec mIRC...

Pour parvenir  ce rsultat, chaque valeur de prfrence doit tre associe  des masques
qui permettent  Ol-Irc de choisir quelle valeur utiliser, en fonction du type de fentre,
du rseau IRC, du server IRC, du channel et de l'user avec qui un DCC Chat ou un Query est ouvert.

En tout, 5 masques sont associs  chaque valeur de prfrence (sauf pour la valeur par dfaut,
qui n'est assice  aucun masque). Les 5 masques sont :

* Le type de fentre

Pour le moment, 5 types de fentres sont possibles :

- Console
- Server
- Channel
- Query
- DCC Chat

Il est possible de prciser un ou plusieurs de ces types dans le masque de prfrence,
par exemple pour utiliser une fonte donne sur toutes les fentres de type channel OU de type
query.

* Le network

Toutes les fentres sont rattaches  un type de rseau (network) IRC spcifique (sauf
la console et les DCC quand le serveur corresondant a t ferm). 
Il est possible de prciser un nom de rseau (par ex. "IrcNet") ou bien un masque
(par ex. "*Net").

* Le serveur

Il est possible de prciser un nom de serveur (par ex. "irc.twiny.net") ou bien un masque
(par ex. "*.fr")

* Le channel

Il est possible de prciser un nom de channels (par ex. "#linux-fr") ou bien un masque
(par ex. "#linux*", ou "#linux.??", ou mme "&*" pour tous les channels de type "&")

* Le userhost

On peut prciser soit un nick ou un masque de nick (par ex. "Olrick", ou "Olrick*"),
ou bien un userhost ou un masque de userhoset (par ex. "Olrick!Olrick@snow.hexanet.fr",
ou "*!Olrick@*.hexanet.fr", ou encore "*!*@*.fr")


Les majuscules/minuscules n'ont pas d'importance.

Evaluation des diffrents masques
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pour chercher la prfrence correspondant le plus possible, Ol-Irc parcours la liste des
masques prsents pour cette prfrence, et suit l'algorithme suivant:

- On rejette tous les masques dont le type fentre ne correspond pas. S'il ne reste plus rien,
  on prend la valeur par dfaut de la prfrence.

- On regarde quelles items parmis le network, server, channel et userhost correspondent au masque.
  Toutes ces items ne sont pas toujours prises en compte (par exemple, tester l'userhost pour
  dterminer la fonte bold d'un serveur n'a pas de signification).
  Si un masque de prfrence a plus d'items correspondantes que tous les autres, on prend la valeur
  de prfrence corresondante, et on ne va pas plus loin.
  Si plusieurs masques de prfrences ont le mme nombre d'items correspondantes, on regarde le
  nombre de caratres autres que les jokers '?' et '*' des items.
  Par exemple, un masque"*.tm.fr" sera plus prioritaire qu'un masque "*.fr" si on le teste contre
  "truc.muche.cybercable.tm.fr"
  Enfin, si plusieurs masques possdent le mme nombre d'items correspondantes avec exactement le mme
  nombre de lettres, le premier sera pris en compte.


  
.../...



+-----------------------+
|                       |
|      Les Ignores      |
|      ~~~~~~~~~~~      |
|                       |
+-----------------------+

Les ignores vous permettent d'viter les messages de certaines personnes.

Un ignore est caractrise par :

- un masque
- les types de messages  ignorer

Le masque spcifie quelle personnes sont concernes par l'ignore.
Il est de la forme habituelle : "nickname!username@machine.provider.domain"
L'utilisation des jokers '?' et '*' n'importe o dans le masque permet
une grande souplesse d'utilisation. Exemples :

nou!cha@...aol.com
*!lamer@tntrei-2-4.abo.wanaboo.fr
*!*@*.wanaboo.fr

Remarque: si vous ne prcisez pas '*' comme nickname, la personne concerne
ne sera plus prise en compte par l'ignore ds qu'elle changera de nickname.
Le masque conseill est donc "*!username@machine.provider.domain".

Ajout d'un ignore
~~~~~~~~~~~~~~~~~

- Grace  la commande /ignore [pas encore implmente]
- Grace au bouton "Add an ignore" de la boite de dialogue Ignore List
- En cliquant avec le bouton droit sur un user dans un channel et en choissisant
  "Ignore".

.../...

Les types de messages  ignorer peuvent etre :

- Private Messages

Concerne les messages (/msg, actions (/me) mais pas les /notices) qui
vous sont envoys en priv (en gnral, depuis une fenetre de query).

- Channel Messages

Concerne tous les messages et action (/me) et notices envoys dans un channel
o vous vous trouvez.
[Dans le futur il sera possible de prciser la liste exacte de channels ou
l'ignore doit etre effectif]

- Invites

Concerne les messages d'invite  joindre un channel. Vous pouvez mettre un
ignore ayant pour mask "*!*@*" et comme type de message "Invites", pour ne plus
jamais voir les invites qui vous sont envoyes (quoique des fois, cel peut etre
gnant).

- Notices

Concerne les /notices qui vous sont envoyes en priv.

- CTCP

Concerne les requtes CTCP (y compris les requtes DCC), qu'elles soient
public (dans un channel) ou prives (envoyes  vous seulement).
[Pour le moment une requte CTCP est indique quand meme par Ol-Irc, mais
aucune rponse n'est renvoye  la personne ayant fait la requte]

.../...

Bouton "Ignore All Messages"

Ce bouton est juste un raccourci pour slectionner tous les types de messages
d'un seul click.

Exclusion : Bouton "Never ignore this mask"

Une possibilit spciale permet de ne jamais ignorer les messages d'un
certain masque. Cel sert par exemple si vous ignorez les messages de
"*!*@*.wanaboo.fr" mais que vous voulez quand meme recevoir les messages
de "*!copain@*.wanaboo.fr". Dans ce cas, vous rajouter un ignore avec le
masque dsir ("*!copain@wanaboo.fr") et vous cliquez sur sur "Never ignore
this mask" dans la boite de dialogue. Note: Les ignores ayant t spcifies
comme Exclude sont toujours traits en priorit par rapport aux autres ignores
- l'ordre dans lequel se trouvent les ignores dans la boite
Server->Ignores List n'a pas d'importance  ce point de vue l.


Temps de vie d'un ignore
~~~~~~~~~~~~~~~~~~~~~~~~

Un ignore spcifi en tant que "Expire on server closing" se terminera lors de la
fermeture de la fenetre du server (une deconnection ne suffit pas  retirer un
ignore de ce type) ou lorsque vous quitterez Ol-Irc [Dans le futur on pourra
spcifier la sauvegarde des ignores, pour qu'ils soient ractivs lors du
lancement suivant de Ol-Irc].

Vous pouvez aussi spcifier un nombre de minutes. Lorsque ce nombre de minutes
est coul, Ol-Irc retire automatiquement l'ignore de la liste et vous en averti
par un message dans la fenetre active du server.

Remarque
~~~~~~~~

Il faut savoir qu'un message ignor est quand meme reu par Ol-Irc (la
plupart des servers IRC ne permettent pas de rellement d'viter la rception
de messages). Ol-Irc se contente de ne pas prendre en compte les messages
reus (ils n'apparaissent nulle part et vous n'en n'avez donc pas connaissance).
Ceci explique que vous pouvez trs bien vous faire flooder sans en etre conscient,
si vous avec plac un ignore sur le(s) flooder(s)...

