Expansion to the Client 'CLIENTMOD'

The expansion to the Client 'ClientMod' offers several additional configuration options to the basic client. You can (temporarily) enable this modification either via the command /client mod in the main chat window, or (permanently) by setting the string Client = Mod in the propfile Brettspielwelt.prop. To disable (temporarily) the ClientMod, simply enter /client base in the main chat window. All configurations for ClientMod are held in the ClientMod.prop in the main BSW directory.

There is a Forum available to help with questions and suggestions for the client Mod @ Forum für Client-Erweiterungen.

Colours, Fonts and Positioning

You can customize the appearance of the main chat window, tell and channel windows via the ClientMod to your liking. The colours and font size can be defined. Similarly, the position and size of main window and chat windows can also be configured.. To activate the colour settings you must use the following configuration:

colors = on

Example configuration settings:

maindefault = 20, 20, 400, 260, 000000, DDDDDD, 000000, DDDDDD

The first two numbers give the location of the main window (position X and Y). The next two numbers give the width and height of the window. The last block of numbers colours in hexadecimal for the foreground and background color of the text window as well as the foreground and background color of the command line.

The configuration for the chat window is similar:

channeldefault = 20, 20, 400, 260, 000000, FFFFDE, 000000, FFFFDE

telldefault = 20, 20, 400, 260, 000000, EBEBFF, 000000, EBEBFF

You can easily find the current size and position of the client window by moving the window to size and position you want, and then enter the command window /mod_info . This will return the position and size indicated in the ClientMod.prop.

You can configure the default font, size and attributes using this protocol (example):

font = "Arial", 10, bu

The first string indicates the font followed by the font size and then the font attribute(s). "i" (italics), "u" (underlined) and "b" (bold), used in any combination.

The fonts available depend on the system, not all fonts work with Java.

You can also configure specific chat windows, for example, the SPV-Channel:

channel_SPV = "#SPV", 20, 20, 300, 100, #001122, 994455, 447755, 000000

Use the channel name as the variable e.g. channel_Channelname . The first value must be the channel name (prefaced by a '#'), then follow the same syntax as described above for other windows such as as position, size and colours.

This syntax can also be used for the tell windows:

tell_UserXY = "XY", 0, 720, 665, 269, 000000, EBEBFF, 000000, EBEBFF

It is also possible to change the color of a line or phrase:

colorline_-- = "--" , 707070,

With this configuration all client information (starting with "--") is shown in gray (707070).

Or you can set colour to your own phrases:

colorline_You-Say = "You say" , 0080C0,

Or all text that user XY said:

colorline_XY = "XY", #0080C0,

You can let your imagination go and select any colour you desire.

Instead of setting colour to a line of text, you can colour certain words or strings:

colorkey_Wizard = "Wizard", #0000ff

Here the word "Wizard" can always be displayed in blue, which is handy for example if you do not want to miss a game yell in the SPV Channel for your favorite game. Warning: This is case sensitive!

It is also possible to colour regular expressions. Here are some examples:

colorkeyregex_MyName = "(?i:myname)", #0000ff,

Will highlight "MyName", even if it is written in uppercase or lowercase.

colorkeyregex_nb = "\\b\\d+\\b", ff0000

Make all the numbers red ..

colorkeyregex_room = "(?i:C)\\d+-\\d+", #663399

Colour room numbers (CXY-ab).

colortime = aaaaaa, , , 9, n

Used to colour the time when the timestamp is enabled.

colorlinks = param1, param2, param3, param4, param5

This configures link colours.

Make sure to pay special attention to the colour of windows and text as blue writing on a blue background can make reading more difficult ;-)..

javastyle = on

Fixes the appearance of buttons and scroll bars. The appearance varies depending on the version of Java used. on here = Java, off = standard system.

vscrollbarsize = 15

Sets the width of the vertical scroll bar.

hscrollbarsize = 12

Sets the width of the horizontal scroll bar.

A chat window can be opened up within or outside of collective chat. Collective windows can be enabled or disabled with the F11 key.

channeltocollect = "#SPV", "#ClientMod"

This example configuration combines "SPV" and "ClientMod" in the same window.

channeltocollect = *

Opens all window channels in one collection.

channeltowindow = "#SPV", "#ClientMod"

The alternative example here is that these two channels are opened outside the collective window. It is also possible, using "*" to indicate that all channels are open outside of collective window. Warning: this option makes sense only when the collective window of the BSW client is disabled.

The same functionality exists for 'Tell' windows:

telltocollect = "UserA", "UserB"

This opens a collective 'Tell' window with users A and B in the chat group. Use * to combine all 'Tell' transactions in one collective window.

The inverse can also be used:

telltowindow = "UserX", "UserY"

This option places the 'Tell' windows with users X and Y outside of collective window.

General Configuration

To configuration menus and button bars, the following basic rules apply:

  • *Command - this command type is executed immediately.
  • +Command - this command will be placed in the command line, the previous text is deleted.
  • -Command - the command is inserted at the cursor position.
  • !Command - the command is executed in the main window
  • !+Command - the command is placed in the command line of the main window, and the previous text is deleted.
  • !-Command - the command is inserted at the cursor position in the main window

You can execute all of the BSW commands as well as the ClientMod specific commands.

There are also two additional commands:

  • submenu - Creates a sub-menu
  • separator - Adds a menu separator

To define a variable, use the following commands:

  • $channel$ - captures the name used in the /Tell
  • $selection$ - captures the first word of the current selection
  • $selection100$ - captures the first 100 characters of the current selection from the current cursor.

Configuring Menu Contexts

There are different types of menus. In general all the menu items are numbered. The numbers can range from 1 to 35 and need not be consecutive.

menu_Number = Menu text, Command

This is a menu entry for all windows, i.e these entries appear in the context of the main window as well as in the context of the chat window (below each of the specific context menus).

Examples:

menu_3 = "/whereis $selection$", "!/whereis $selection$"

Will display in the main window, the location of the currently selected name.

Menus can be configured as you want:

menu_1 = "1. element "," command "
menu_2 = "This is a sub-menu "," submenu "
menu_2_1 = "1. element in sub-menu", "command"
menu_2_2 = "Submenu", "submenu"
menu_2_2_1 = "1. element in sub-menu "," command "
menu_2_3 = "2. element in sub-menu "," Order"
menu_2_4 = "3. element in sub-menu "," command "
menu_3 = "3. element "," command "

You can find menu examples in the PropExample

You can configure specific menus in the same fashion:

mainmenu_Number = Menu title, Command

To set the context in the main window.

channelmenu_Number = Menu title, Command

To set the context in the Channels window.

tellmenu_Number = Menu title, Command

To set the context in the Tell windows

The context as used in the standard client can be called by using Ctrl + Right Click in the corresponding chat window.

Button Bars

Appearance of the Button Bar

You can add a button-bar in the mainchat and in the chat windows. These can be defined after your likings.

mainbutton = on

Activates the button-bar in the main chat. It can be deactivated again with off. Analogously counts:

channelbuttons = on

tellbuttons = on

The font used in the button-bar is defined with the following command:

mainbuttonfont = Arial, 10

Again analogously in addition counts:

channelbuttonfont = Schriftname, Schriftgröße

tellbuttonfont = Schriftname, Schriftgröße

The size of the buttons can be fixed in two kinds:

buttonoptimalsize = on

The button size automatically adapts to the button inscription. With off all buttons are indicated equal in size and the size is determined after the longest button inscription.

buttonshowtooltips = on

Activates tool tips for the buttons.

buttonposition = east

Chooses the location of the button-bar. Possible locations are east, north, west and south.

If you want images to support the buttons, you first have to put them in index in a directory, e.g.: C:\BSW\ClientModPics.

Then you have to define the correct path, in this case:

iconpath = C:\BSW\ClientModPics

Images should be of a maximum of 16x16 pixel in size. Supported formats are .jpg, .gif and .png.

Functions of the button-bar

The buttons can be adapted as you like and defined as follows:

mainbutton_1 = Buttondescription, Command

Also for instance:

mainbutton_1 = "Help", "!/help"

It is possible for a numbering of 1 to 35 which must not be sequential compelling.

If you want to use an image with a button. The imagefile has to be added after the description.

mainbutton_1 = "Help:help.jpg", "!/help"

You can put two commands in a button. The clickings on the button then changes between the two commands.

mainbutton_3 = "scroll off:scrollaus.gif", "*/mod_noscroll", "scroll on:scrollan.gif", "*/mod_scroll"

Here you turn the scroll off with a click. The next click activated the scroll again. It also changes the button between 2 icon files.

In addition buttons can also be defined for chat windows analogously:

channelbutton_1 = "Hello", "*Hello :-)"

Writes a "Hello :-)" in the Channel.

tellbutton_6 = "W:whereis.png", "!/whereis $channel$"

Lists the current location of the tellpartner in the mainchat.

Miscellaneous

The ClientMod can when started, execute up to 10 commands automatically.

startup_1 = "/ctell /mode quiet=off"

startup_2 = "/gtell Channelname Hallo everybody"

The chat sounds for local chat windows (if something new is written) can be put in the ClientMod global as well as local.

channelmsgsound = on

Switches on the chat sound for channel window globally. With off the channel sound is switched off accordingly. Exceptions to it are defined as follows:

channelmsgsoundex = "#SPV", "#Tutoren"

Therefore no sounds would be given in the channel "SPV" and "tutors". A lot of channel can be excluded arbitrarily. Pay attention to the channels with a "#" in front of their names.

Puts "channelmsgsound" on "off", vice versa the sounds are given only in a channel defined under "channelmgssoundex".

errorlog = error.txt, on

Creates a logfile when errors occurs. The name of the file can be chosen freely. If you add "on", then the data is appended to the existing log-file. If you leave the "on" out, then the logfile is overwritten, when data is written to the file.

import = "http://www.meineDomain.de/Raumliste.txt", "menu.prop", "colors.prop"

With this option settings can be imported from external files. Thus one can administer, for instance, towns room-lists centrally. It can be given files as well as URLs. Nevertheless, the URLS must refer to pure text files, html pages are not supported!

autoscroll = on

De/Activates the autoscroll function. If Autoscroll is activated, the autoscroll is automatically switched off, as soon as the scrollbar is pulled upwards. The autoscroll is activated again if the scrollbar becomes pulled to the end of the chat again.

scrollbarcolor = FrontPrimaryColor, BackgroundPrimaryColor, deactivated FrontPrimaryColor, deactivated BackgroundPrimaryColor

Pins the colors of the vertical scrollbar. Depending on the scroll is activated or deactivated.

volume = 100

Pins the volume of the played .wav data. It can be set between 0 and 200. Warning: A lot of the sound data on BrettSpielWelt is .au-format and is not supported by this command.

Special commands for the ClientMod

You can find the commands for the ClientMod on the ClientMod Commands page.

A fully detailed description of the ClientMod is available on the following site : DoD's homepage, the originator of the ClientMod. The site has options for English language also.