;This is a sample file showing how the autoexec system works ;It came from http://trac.miranda-ng.org/browser/trunk/docs/autoexec_sample.ini ;The goal is to provide a flexible ability for bulk-setting of many database ;settings. This file does *not* become part of the database - it is only read ;and imported by Miranda, then discarded. ;Short intro to the capabilities of the Miranda database: ;The database stores 4 different types of information: ; 1) Contacts. These are merely structural, they don't actually store any ; info themselves. There is a 'me' contact and zero or more real contacts. ; Each contact contains settings and events. ; 2) Settings. These are quadruplets: module name, setting name, data type, ; data value. More on these later because that's what all this is about. ; 3) Events. History events and suchlike. ; 4) Module names. An internal structure for space efficiency. Forget this, I ; just included it for completeness. ;The autoexec system is for changing settings belonging to the 'me' contact, ;because that's where all the preferences are stored. Nothing else can be ;altered using this file. ;You should probably get a copy of micronx's Database Wizard from ;www.nortiq.com/miranda/ because that can display and change all the settings ;in the database (including those belonging to the other contacts). ;More on those quadruplets: ;Consider, for example, the background bitmap of the contact tree. If you look ;in the options you'll see that there are three basic settings controlling it: ;Whether to use that or a solid colour, the filename to use, and a mass of ;check boxes. ;These three categories map on to three database settings that you can see ;with dbwiz. ;"CLC" is the module name, and "UseBitmap", "BkBitmap", "BkBmpUse" are the ;setting names. ;Clicking on the "UseBitmap" setting you'll see the final two parts of the ;setting: type and value. In this case type is a byte, and the value is 0 or 1. ;Everything is case sensitive, and the type of the setting is just as important ;as its name. If you give a setting a type other than that which Miranda ;expects things will go badly. There are five different types: byte, word, ;double-word are the three numeric ones of various magnitudes; strings for ;textual data; and blobs for variable-length binary data. ;The encoding of "BkBmpUse" will probably have you baffled, so you can either ;peruse clcopts.c to figure out what's going on or, far easier, set what you ;want and just copy the value down. ;Note about security: ;This file clearly makes it possible to sneak in a change to a user's ICQ ;login server, for instance, while you change their colour scheme. This could ;be used to glean UINs and passwords without their knowledge. ;Miranda has security in place that means the user will be warned before any ;changes are made to the settings of modules that are not known to be safe. ;The default settings and how to change them are documented in mirandaboot.ini ;Note that some parts of Miranda won't notice changes on-the-fly, so it will ;be necessary to restart Miranda before the changes take effect. ;The example that follows, then, is a heavily annotated script to provide a ;new background bitmap for the contact list and set the text colour to yellow. ;It's assumed that you have packaged background.bmp in a .zip with this file ;and provided the user with instructions to dump both files in their Miranda ;directory. [CLC] ;settings from here to the next change will apply to the "CLC" module. ;Assign the byte 1 to the setting "UseBitmap". b stands for byte. ;There must be no space around the equals sign or after the b. UseBitmap=b1 ;s stands for string. BkBitmap=sbackground.bmp ;w is for word. The 3 I just copied out of dbwiz. It means stretch to width ;and height. BkBmpUse=w3 ;Font0 is the 'standard contacts' setting on the list text options page. ;Font0Col, therefore, is the colour setting of that font. ;d is for dword. ;The 0x prefix is signifying this number as hexadecimal. You can also prefix ;0 to use octal, and negative numbers work too. ;ffff00 you will recognise as yellow from your HTML experience. Font0Col=d0xffff00 ;--end of example-- ;There are two data types that haven't been used here: blob and delete. ;Delete is easy: just use eg "BkColour=l" (that's a lowercase L). This example ;causes the background solid colour to be the same colour as the users choice ;for 3D objects facing straight on, eg most of the taskbar. ;Blobs are of the form "Font=n03 f5 2a" where those are hexadecimal pairs ;representing each byte to set. ;The final thing to note is that there are settings that it is possible to ;change using this file, but that you'll wreck consistency if you do so. It's ;obvious the settings where this is the case, the typical example being ;the whole CListGroups module. Luckily you don't want to change any of the ;settings where this is a problem.