man IvmConfigConditions.xml (Formats) - rules for processing hardware conditions by ivman(8)
NAME
DESCRIPTION
IvmConfigConditions.xml specifies hardware conditions to be caught by ivman(8), and allows running of certain commands when devices emit conditions.
IvmConfigConditions.xml is parsed as an XML file. The general form of the file is:
<?xml version="1.0" encoding="UTF-8"?>
<ivm:ConditionsConfig version="0.1" xmlns:ivm="http://www.eikke.com/ivm">
<ivm:Match name="matchname" value="matchvalue">
<ivm:Condition name="conditionname1" exec="command1" />
<ivm:Condition name="conditionname1" exec="command1" />
</ivm:Match>
... </ivm:PropertiesConfig>
Each time a condition is emitted by a device, this file will be parsed. If the Match rule matches the device on which the condition came from, and the Condition rule matches the name of the condition which occurred, then the command specified in the 'exec' option will be executed.
A Match element can have any of the following names:
- ivm.mountable
- Whether or not HAL specifies that a device can and should be mounted. Must be "true" or "false".
- hal.anything
- The string in place of "anything" will be taken as the name of a HAL property string for the device, and the value of the property will be compared to the value given. Run 'lshal' to see a list of HAL properties which can be used here.
- *
- Match every device. Use with care!
As many Matches can be nested as is desired.
Condition names usually take the form of something like 'ButtonPressed', which may occur when an ACPI-enabled button is pressed on your machine. See the HAL specification for a full list of possible conditions.
The exec attributes of Condition tags support substitution of HAL device properties. This is accomplished by surrounding the property name with $ symbols. For instance, if $hal.volume.mount_point$ is within a command, it will be replaced with the volume's mount point before execution. No character escaping is done in the substitution, but the characters ' and " are replaced with ?, so you can surround the substitution with quotes without fear.
Remember that this is an XML file, which means that characters which have a special meaning in XML (entities) need to be escaped. Some characters which are popular in shell scripting (&, <, >) are among these special characters. As a quick reference, & becomes & , < becomes < , > becomes > , ' becomes ' and " becomes " .