The two functions are now complete and work great:
To toggle a plugin:
Active_X{
$plug="npmozax.dll";
$reload = true;
&toggleplug;
}
toggleplug {
$plugpath = $pluginsdir . "..\\plugins\\"
$plug_activ = getpref(BOOL,"kmeleon.netplug.".$plug);
$plug_activ ? $verb = "unactivate " : $verb = "activate ";
$plug_activ ? $action = "Unactivation " : $action = "Activation ";
$plug_activ ? $from = $plugpath . $plug : $from = $plugpath . "_" . $plug;
$plug_activ ? $to = $plugpath . "_" . $plug : $to = $plugpath . $plug;
$x = pluginmsg(utils, "rename", $from, $to);
togglepref(BOOL,"kmeleon.netplug.".$plug);
&Sync;
$msg = "You must close and reload K-Meleon to " . $verb . "the plugin " . $plug
$reload ? alert($msg,$action."of a plugin") : 0;
}
To verify state when starting k-meleon:
OnStartup{
[g]$plug=pluginmsgex(utils,"exist",$pluginsdir . "..\\plugins\\npmozax.dll",STRING);
setpref(BOOL,"kmeleon.netplug.npmozax.dll",$plug);
&SetLast;
$layer=="true"? &SetNext:setpref(STRING,$og,$ln);
getpref(INT,$sg)<2 ? "":$loaded="GroupStart"; &Sync;
}[/g]
The toggleplug macro is obviously generic and can work with any netscape plugin
Parameters initialised in callin function:
name of the dll
reload needed or not (true or false)
That's all folks