Plugins, fonts

J. Landman Gay jacque at hyperactivesw.com
Thu May 6 22:13:20 EDT 2004


On 5/6/04 7:02 PM, Robert Brenstein wrote:

>>> For those listening in and wondering: the stack in question ran under 
>>> pre-b5 versions pretending to be a library in order to be called but 
>>> not opened at startup. But it ain't library. All it does is sets the 
>>> script editor font when the IDE starts. When opened normally, it 
>>> presents a window to choose the font and size. In other words, it is 
>>> akin to an extension/control panel combo in Mac OS.
>>
>>
>> B4 added the auto-library option, which takes care of loading the 
>> library.  As a library it can respond to the libraryStack message to 
>> do any faceless operations, and can even stop using itself.  For the 
>> UI selecting it from the menu opens it.
>>
>> What more is needed for that dual behavior?
>>
>> I may be a little slow, running on only one cup of coffee today....
>>
>> -- 
>>  Richard Gaskin
> 
> 
> This is exactly what I did earlier, as you read in my email. But as far 
> as I am concerned it is a kludge and a kludge that anyone writing such 
> plugins must always remember to follow. If I open Plugin Manager and see 
> something marked as a library, it should be a library. May be I am a 
> purist, but since plugins are new to MC, it would be a shame to start 
> with a kludge that is not necessary.
> 
> So, in my view, the following categories of plugins should be recognized:
> 
> Passive plugins -- plugins that are opened only manually by the user. 
> Any MetaCard or Revolution stack can be used as a passive plugin. The 
> "Plugins" menu is basically a launchpad to open them convieniently.
> 
> Auto-open plugins -- plugins that are opened automatically at startup. 
> Any MetaCard or Revolution stack can be set to be an auto-open plugin. 
> The standard sequence of preOpen and open messages is sent when the 
> stack opens.
> 
> Library plugins -- plugins that are installed as libraries (through 
> start using) automatically at startup: they are not opened but a 
> 'libraryStack' message is sent to them. They open as a normal stack when 
> selected from the "Plugins" menu or opened in the Plugin Manager.
> 
> (new) Active plugins -- plugins that are executed automatically at 
> startup: they are not opened but a 'pluginStack' message is sent to 
> them. Such plugins are meant to perform one-time actions just after the 
> MetaCard IDE loads. They open as normal stacks when selected from the 
> "Plugins" menu or opened in the Plugin Manager.
> 
> A given plugin can actually belong to multiple categories. They are not 
> exclusive (except passive of course).
> 
> Furthermore, I postulate that the order of events at startup should be to
> 
> 1. build plugins menu
> 2. start using all library plugins
> 3. execute all active plugins
> 4. open plugins to be opened at startup
> 
> Holding shift key down, should disable 2, 3, and 4.


These are mostly all good, I like it. The only one that probably isn't 
essential though is the "active" type. As Richard said, that can already 
be done using a library type stack. Something like this:

on librarystack
  doMyOneStartupThing
  stop using the script of this stack
end librarystack

Would work, yes? Why invent another type?

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com


More information about the metacard mailing list