Autoexec system: Difference between revisions
Jump to navigation
Jump to search
Dart Raiden (talk | contribs) (Created page with "<languages/> AutoExec is a system for batch addition of multiple settings to the database.") |
Dart Raiden (talk | contribs) No edit summary |
||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<translate> | |||
<!--T:1--> | |||
Autoexec is a system for batch addition of multiple settings to the database. The goal is to provide a flexible ability for bulk-setting of many database settings. | |||
<!--T:2--> | |||
Put code to <tt>autoexec_<anyname>.ini</tt> (name template can be changed, see <tt>[AutoExec]</tt> section of [[Mirandaboot.ini]]) and place that file to Miranda root folder. | |||
<!--T:3--> | |||
Also see [[Mirandaboot.ini]] for additional autoexec-related settings. | |||
</translate> | |||
<pre style="overflow:auto;height:400px;"> | |||
;This is a sample file showing how the autoexec system works | |||
;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 use DbEditor++ 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 color, the filename to use, and a mass of | |||
;check boxes. | |||
;These three categories map on to three database settings that you can see | |||
;with database editor. | |||
;"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 color 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 color 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 database editor. 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 color 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 recognize 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 e.g., "BkColour=l" (that's a lowercase L). This example | |||
;causes the background solid color to be the same color as the users choice | |||
;for 3D objects facing straight on, e.g., 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. | |||
;--Module and setting deletion-- | |||
;This module will be completely removed with all the settings it contains. | |||
;Starting from 0.95.12 you can also use "-" instead of "?". | |||
[?YAPP] | |||
;Only this particular setting will be removed. | |||
[Tipper] | |||
Border=- | |||
</pre> |
Latest revision as of 01:09, 3 March 2023
Autoexec is a system for batch addition of multiple settings to the database. The goal is to provide a flexible ability for bulk-setting of many database settings.
Put code to autoexec_<anyname>.ini (name template can be changed, see [AutoExec] section of Mirandaboot.ini) and place that file to Miranda root folder.
Also see Mirandaboot.ini for additional autoexec-related settings.
;This is a sample file showing how the autoexec system works ;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 use DbEditor++ 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 color, the filename to use, and a mass of ;check boxes. ;These three categories map on to three database settings that you can see ;with database editor. ;"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 color 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 color 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 database editor. 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 color 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 recognize 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 e.g., "BkColour=l" (that's a lowercase L). This example ;causes the background solid color to be the same color as the users choice ;for 3D objects facing straight on, e.g., 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. ;--Module and setting deletion-- ;This module will be completely removed with all the settings it contains. ;Starting from 0.95.12 you can also use "-" instead of "?". [?YAPP] ;Only this particular setting will be removed. [Tipper] Border=-