Hi, I noticed that the plugins .js files get downloaded even if your toolbar doesn't use them. Therefore i suggest the following change which feeds the toolbar in and only loads the plugin if it is required.
FCKeditor/editor/fckeditor.html:
to
FCKEditor/editor/_source/internals/fckconfig.js (Also search for other instances of FCKConfig.Plugins.Add throughout the editor and make sure the signature matches):
to
FCKEditor/editor/_source/internals/fckplugins.js (Also search for other instances of FCKPlugins.Load throughout the editor and make the same changes):
to
Please note that this does mean you will need to feed in (as the 4th parameter) the toolbar you wish to use the plugin for. ie FCKConfig.Plugins.Add('autogrow', 'en', null, 'Default'); within the fckconfig.js file.
FCKeditor/editor/fckeditor.html:
FCKPlugins.Load() ;
to
FCKPlugins.Load(FCKURLParams['Toolbar'] || 'Default') ;
FCKEditor/editor/_source/internals/fckconfig.js (Also search for other instances of FCKConfig.Plugins.Add throughout the editor and make sure the signature matches):
FCKConfig.Plugins.Add = function( name, langs, path )
{
FCKConfig.Plugins.Items.AddItem( [name, langs, path] ) ;
}to
FCKConfig.Plugins.Add = function( name, langs, path, toolbar )
{
FCKConfig.Plugins.Items.AddItem( [name, langs, path, toolbar] ) ;
}FCKEditor/editor/_source/internals/fckplugins.js (Also search for other instances of FCKPlugins.Load throughout the editor and make the same changes):
FCKPlugins.Load = function()
{
var oItems = FCKPlugins.Items ;
// build the plugins collection.
for ( var i = 0 ; i < FCKConfig.Plugins.Items.length ; i++ )
{
var oItem = FCKConfig.Plugins.Items[i] ;
var oPlugin = oItems[ oItem[0] ] = new FCKPlugin( oItem[0], oItem[1], oItem[2] ) ;
FCKPlugins.ItemsCount++ ;
}
// Load all items in the plugins collection.
for ( var s in oItems )
oItems[s].Load() ;
// This is a self destroyable function (must be called once).
FCKPlugins.Load = null ;
}to
FCKPlugins.Load = function(toolbar)
{
var oItems = FCKPlugins.Items ;
// build the plugins collection.
for ( var i = 0 ; i < FCKConfig.Plugins.Items.length ; i++ )
{
if (oItem[3] == toolbar) {
var oItem = FCKConfig.Plugins.Items[i] ;
var oPlugin = oItems[ oItem[0] ] = new FCKPlugin( oItem[0], oItem[1], oItem[2] ) ;
FCKPlugins.ItemsCount++ ;
}
}
// Load all items in the plugins collection.
for ( var s in oItems )
oItems[s].Load() ;
// This is a self destroyable function (must be called once).
FCKPlugins.Load = null ;
}Please note that this does mean you will need to feed in (as the 4th parameter) the toolbar you wish to use the plugin for. ie FCKConfig.Plugins.Add('autogrow', 'en', null, 'Default'); within the fckconfig.js file.

Re: Plugin Improvement
simple example: the dragresizetable
it's easy to find several plugins that don't depend on the toolbar or that has more than one button.
Re: Plugin Improvement
if (oItem[3] == toolbar) {to
if (oItem[3] == null || oItem[3] == toolbar) {