Extension du client Mod
L'extension du client ClientMod propose facilement plusieurs possibilités de configuration supplémentaires par rapport au client standard. Cette extension peut être activée soit temporairement grâce à la commande /client mod dans le chat principal, soit de manière fixe par la configuration Client = Mod dans le fichier Brettspielwelt.prop. Pour désactiver (temporairement) le ClientMod, il suffit d'entrer /client base dans le chat principal. Toutes les configurations pour le ClientMod sont prises dans le fichier ClientMod.prop du répertoire principal du BrettspielWelt.
Pour les questions et les suggestions sur le client Mod il existe un forum pour les extensions du client.
Apparence et positionnement
Avec le ClientMod on peut personnaliser à son goût l'apparence des fenêtres de chat principal et de chat (fenêtre tell et canaux). Les couleurs et le type d'écriture peuvent être librement choisis. De même la position et la taille des fenêtres principales et de chat peuvent être sauvegardées. Pour activer la configuration des couleurs il faut utiliser la configuration suivante :
colors = on
Exemple de configuration pour la fenêtre principale :
maindefault = 20, 20, 400, 260, 000000, DDDDDD, 000000, DDDDDD
Les deux premiers nombres donnent l'emplacement de la fenêtre principale (position X et Y). Les deux nombres suivants donnent la largeur et la hauteur de la fenêtre. Ensuite suivent les couleurs au format hexadécimal pour la couleur principale et d'arrière plan de la fenêtre ainsi que pour la ligne de commande.
La configuration des fenêtres de chat se fait de manière analogue :
channeldefault = 20, 20, 400, 260, 000000, FFFFDE, 000000, FFFFDE
telldefault = 20, 20, 400, 260, 000000, EBEBFF, 000000, EBEBFF
Pour facilement fixer la taille et la position des fenêtres, il suffit de mettre la fenêtre à la taille et la position voulue et ensuite entrer dans cette fenêtre la commande /mod_info. Il suffit ensuite de reprendre la position et la taille indiquées dans le ClientMod.prop.
La configuration de la police, taille et des attributs se fait avec cette configuration (exemple) :
font = "Arial", 10, bu
La première valeur donne la police, ensuite vient la taille et enfin les attributs d'écriture "i" italique, "u" souligné et "b" gras, ils peuvent librement être combinés.
Les polices disponibles dépendent du système, en règle générale toutes les polices ne fonctionnent pas sous Java.
On peut aussi donner à une fenêtre de chat particulière sa propre configuration, par exemple pour le canal SPV :
channel_SPV = "#SPV", 20, 20, 300, 100, #001122, 994455, 447755, 000000
Pour cela il faut donner le nom du canal avec channel_NomCanal. La première valeur est la reprise du nom du canal (ne pas oublier # et "" !), ensuite suivent les valeurs pour la position, taille et couleurs comme décrit précédemment.
Naturellement cela existe aussi pour les fenêtres Tell :
tell_UserXY = "XY", 0, 720, 665, 269, 000000, EBEBFF, 000000, EBEBFF
Il est également possible de modifier la couleur d'une ligne complète ou d'une expression particulière :
colorline_-- = "--" , 707070,
Avec cette configuration toutes les informations du client (qui commencent par "--") sont affichées en gris (707070).
Ou on peut colorer ses propres lignes :
colorline_Toi = "Toi :" , 0080C0,
Ou tous les textes que l'utilisateur XY dit :
colorline_XY = "XY", #0080C0,
Vous pouvez laisser libre cours à votre fantaisie et à votre envie de couleurs.
Au lieu de colorer toute la ligne, vous pouvez ne colorer que certains mots ou chaines de caractères :
colorkey_Wizard = "Wizard", #0000ff
Ici le mot "Wizard" sera toujours affiché en bleu, ce qui est pratique par exemple lorsque l'on ne veut pas laisser passer un appel dans le SPV pour son jeu favori. Attention : les majuscules et les minuscules sont différenciées !
Il est également possible de mettre en valeur des expressions régulières. Voici quelques exemples :
colorkeyregex_monnom = "(?i:monnom)", #0000ff,
Surligne systématiquement "MonNom", qu'il soit écrit en majuscule ou en minuscule.
colorkeyregex_nb = "\\b\\d+\\b", ff0000
Marque tous les chiffres en rouge.
colorkeyregex_salle = "(?i:C)\\d+-\\d+", #663399
Colore les numéros de salle (Cxy-ab).
colortime = aaaaaa, , , 9, n
Permet de colorer l'heure quand la fonction horodatage est activée.
colorlinks = param1, param2, param3, param4, param5
Cette configuration colore les liens.
Attention à bien faire attention à la couleur des fenêtres car une écriture bleue sur fond bleu peut rendre la lecture plus difficile ;-).
javastyle = on
Fixe l'apparence des boutons et des barres de défilement. L'apparence varie suivant la version de Java utilisée. Ici on = apparence Java, off = standard du système.
vscrollbarsize = 15
Fixe la largeur de la barre de défilement vertical.
hscrollbarsize = 12
Fixe la largeur de la barre de défilement horizontal.
Une fenêtre de chat donnée peut être ouverte à l'intérieur ou à l'extérieur du chat collectif. Le Chat collectif peut être activé ou désactivé avec la touche F11.
channeltocollect = "#SPV_fr", "#ClientMod"
Configure par exemple, que les canaux "SPV_fr" et "ClientMod" soient toujours ouverts dans le chat collectif.
channeltocollect = *
Ouvre toutes les fenêtres de canaux dans le chat collectif.
channeltowindow = "#SPV_fr", "#ClientMod"
Fixe au contraire, que ces deux canaux soient ouvert dans des fenêtres supplémentaires en dehors du chat collectif. Il est également possible, au moyen de "*" d'indiquer que tous les canaux soient ouverts en dehors du chat collectif. Attention : cette option n'a de sens que lorsque le chat collectif du client BSW est désactivé.
La même chose existe pour les fenêtres Tell :
telltocollect = "UserA", "UserB"
Ouvre les fenêtres Tell des utilisateurs A et B dans le chat collectif. Avec * toutes les fenêtres de tell sont affichées dans le chat collectif.
L'inverse existe également :
telltowindow = "UserX", "UserY"
Ouvre les fenêtres Tell des utilisateurs X et Y en dehors du chat collectif.
Configuration générale
Pour la configuration des menus contextuels et des barres de boutons, les règles de base suivantes s'appliquent :
- *Commande - la commande est exécutée directement
- +Commande - la commande est placée dans la ligne de commande, le texte précédent est supprimé
- -Commande - la commande est insérée à la position du curseur
- !Commande - la commande est exécutée dans la fenêtre principale
- !+Commande - la commande est placée dans la ligne de commande de la fenêtre principale, le texte précédent est supprimé
- !-Commande - la commande est insérée à la position du curseur dans la fenêtre principale
On peut utiliser comme commande toutes les commandes du BrettspielWelt ainsi que les commandes spécifiques du ClientMod.
De plus il existe deux commandes spéciales supplémentaires :
- submenu - Construit un sous-menu
- separator - Ajoute un séparateur dans un menu
Pour pouvoir utiliser une variable, on utilise les commandes suivantes :
- $channel$ - est remplacé par le nom du canal/Tell
- $selection$ - est remplacé par le premier mot de la sélection actuelle
- $selection100$ - est remplacé par les 100 premiers caractères de la sélection actuelle.
Configuration des menus contextuels
Il existe différents types de menus contextuels. En principe tous les éléments de menu sont numérotés. La numérotation peut aller de 1 à 35 et n'est pas obligatoirement consécutive.
menu_numéro = texte du menu, commande
Ainsi une configuration de menu est définie pour tous les menus contextuels, c.à.d. que cette configuration apparait aussi bien dans le menu contextuel de la fenêtre principale, que dans le menu contextuel de la fenêtre de chat (chaque fois sous les menus contextuels spécifiques)
Exemple :
menu_3 = "/whereis $selection$", "!/whereis $selection$"
Permet d'afficher dans le chat principal, où se trouver le nom actuellement sélectionné.
Les menus peuvent être configurés en autant de profondeur que l'on souhaite :
menu_1 = "1. élément", "commande"
menu_2 = "Ceci est un sous-menu", "submenu"
menu_2_1 = "1. élément dans sous-menu", "commande"
menu_2_2 = "Sous-menu", "submenu"
menu_2_2_1 = "1. élément dans sous-menu", "commande"
menu_2_3 = "2. élément dans sous-menu", "commande"
menu_2_4 = "3. élément dans sous-menu", "commande"
menu_3 = "3. élément", "commande"
On peut trouver des exemples de menu dans PropExemple
On peut configurer de manière analogue les menus contextuels spécifiques :
mainmenu_Numéro = titre de menu, Commande
Pour le menu contextuel de la fenêtre principale.
channelmenu_Numéro = titre de menu, Commande
Pour le menu contextuel des fenêtres de canaux.
tellmenu_Numéro = titre de menu, Commande
Pour le menu contextuel des fenêtres de Tell.
Le menu contextuel normal du client standard peut être appelé avec Ctrl + clic droit dans la zone de chat correspondante.
Barres de boutons
Apparence de la barre de bouton
On peut ajouter une barre de bouton dans le chat principal et dans les fenêtres de chat et les configurer selon son goût.
mainbutton = on
Active la barre de bouton dans le chat principal. Elle peut être désactivée avec off. De manière analogue on a :
channelbuttons = on
tellbuttons = on
La police de la barre de bouton est définie comme suit :
mainbuttonfont = Arial, 10
On retrouve également :
channelbuttonfont = nom de la police, taille
tellbuttonfont = nom de la police, taille
La taille des boutons peut être configurée de deux façons :
buttonoptimalsize = on
Adapte automatiquement la taille du bouton à la taille du texte. Avec off tous les boutons ont la même taille, qui est calée sur la taille du plus grand texte.
buttonshowtooltips = on
Active les bulles d'aide pour les boutons
buttonposition = east
Indique la position de la barre de bouton. Les valeurs possibles sont east, north, west et south.
Si l'on souhaite utiliser ses propres icones pour la barre de bouton, il faut tout d'abord créer un répertoire dans le répertoire d'installation du BrettspielWelt, par ex : C:\BSW\ClientModPics.
Il faut ensuite définir le chemin correspondant, par exemple par :
iconpath = C:\BSW\ClientModPics
Les icônes doivent avoir une taille maximale de 16x16 pixels. Les formats reconnus sont .jpg, .gif et .png.
Fonctions de la barre de bouton
Le comportement des boutons peut être configuré comme l'on veut et est défini comme suit :
mainbutton_1 = description du bouton, commande
Ainsi par exemple
mainbutton_1 = "Aide", "!/help"
La numérotation va de 1 à 35 et n'est pas obligatoirement consécutive.
Si l'on souhaite attribuer à un bouton une image, le nom du fichier de l'image doit être indiqué avec un ':' après la description.
mainbutton_1 = "Aide:help.jpg", "!/help"
On peut configurer un bouton avec deux commandes, qui peuvent ensuite être interverties en cliquant.
mainbutton_3 = "défilement inactif:scrollaus.gif", "*/mod_noscroll", "défilement actif:scrollan.gif", "*/mod_scroll"
Ce faisant on désactive par un clic le défilement, et on le réactive par un nouveau clic. L'icône se modifie en conséquence.
On peut bien évidemment définir des boutons pour les fenêtres de chat :
channelbutton_1 = "Coucou", "*Coucou :-)"
Affiche un "Coucou :-)" dans le canal.
tellbutton_6 = "W:whereis.png", "!/whereis $channel$"
Affiche dans le chat principal où se trouve actuellement son interlocuteur de tell.
Divers
Le ClientMod peut effectuer automatiquement au démarrage jusqu'à dix commandes :
startup_1 = "/ctell /mode quiet=off"
startup_2 = "/gtell nomCanal Salut tout le monde"
Les sons de Chat (lorsque quelque chose de nouveau est écrit) peuvent être configurés dans le ClientMod aussi bien pour toutes les fenêtres de chat que pour une fenêtre unique.
channelmsgsound = on
Active le son globalement pour les fenêtres de chat. Avec off le son du canal correspondant peut être désactivé. Les exceptions à la configuration par défaut sont définies comme suit :
channelmsgsoundex = "#SPV_fr", "#Tutoren"
Ainsi aucun son ne sera produit pour les canaux "SPV_fr" et "Tutoren". Il est possible de définir autant de canaux que l'on souhaite. Attention à toujours mettre le "#" devant le nom !
Si "channelmsgsound" est à off, inversement seuls les canaux définis dans "channelmgssoundex" ont du son.
errorlog = error.txt, on
Permet de configurer un fichier journal, qui peut être utile en cas d'erreur. Le nom de fichier peut être librement choisi. Dans l'exemple (avec "on") le fichier est toujours complété. En règle générale on peut se passer de "on", le fichier est simplement remplacé à chaque fois.
import = "http://www.monDomaine.fr/ListeSalles.txt", "menu.prop", "colors.prop"
Avec cette option la configuration peut être répartie dans des fichiers externes. Ainsi on peut par exemple utiliser une liste centralisée des salles de la ville. On peut utiliser des fichiers mais aussi des URLs. Les URLs doivent être des fichiers textes purs, les pages HTML ne sont pas reconnues.
autoscroll = on
Dés/Active la fonction de défilement automatique. Lorsque le défilement automatique est activé, il est automatiquement désactivé dès que l'on déplace le curseur vers le haut. Le défilement est réactivé lorsque l'on replace le curseur à la fin de la barre de défilement.
scrollbarcolor = couleur principale, couleur de fond, couleur principale désactivé, couleur de fond désactivé
Configure la couleur de la barre de défilement verticale suivant que le défilement est activé ou non.
volume = 100
Configure le volume sonore pour jouer les fichiers wav. Les valeurs recommandées vont entre 0 et 200. Attention : beaucoup de fichiers de son du BrettspielWelt sont au format .au et ne sont pas pris en compte par cette configuration.
Commandes spéciales pour le ClientMod
Les commandes pour le ClientMod sont dans la page des commandes.
Une description plus détaillée du ClientMod se trouve sur la Home page de DoD, l'auteur du ClientMod.