Here's the ReadMe from the download:
//---------------------------------------------------------------------------
Find and Run Robot (FARR) v2 Plugin SDK Documentation
https://www.donation...r/findrun/index.html//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
Documentation v1.0 - Apr 5, 2007 -
[email protected]//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
This document explains some basic information on how to program plugins for
the Find and Run Robot 2 tool for MS Windows.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
WARNING
Please keep in mind that the plugin support for FARR is brand new as of
April 2007, and is still just in preliminary stages. While it is working,
you should expect changes, bugfixes, and lackluster documentation until
things develop further.
Should you choose to continue developing a plugin for FARR at this early
stage, expect frustration and heartache, but lots of support from the author.
If there are features i can add to help you, just let me know.
-mouser (
[email protected])
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
OVERVIEW - What can you do with FARR plugins?
The basic things you can do with a FARR plugin are:
1. Present standard file/url results to the user based on what they type.
For example, the farrfox plugin that is included in the SDK shows how
to make a plugin that loads all firefox, opera, and IE bookmarks and
let's the user search them. In this case, FARR's built in keyword filtering
is used to filter and sort and score the results, the plugin's job is
simply to return all possible matches. If you prefer you can do the filtering
and scoring yourself. You can provide custom descriptions and icons for
results.
2. Take over the launching of results.
Normally, FARR knows how to launch file results and URLs, but if you wish,
your plugin can takeover launching of all or some results. Using this
functionality you can present arbitrary result lists which have whatever
meaning you want (not files or urls), and then decide how to react when
user selects from your list. (Note FARR already has builtin funcionts to
copy stuff to clipboard or to the last window open before FARR was
triggered).
3. Replace the output window with richedit text.
This is sort of unusual, but you can choose to tell FARR to replace the
normal results with a long richtext (or plaintext) string. This might be
useful if you wanted to show the user some help text or other text. Right
now this text is readonly and nothing the user types gets sent back to the
plugin, but we could change this if coders want to do something more fancy.
Adding support to display HTML and react to it.
4. Adjusting item scores
This is less useful than you might think because it can slow down searching
significantly, but this allows you to simply modify the scores returned
by normal FARR or other plugins, or reject them, etc.
5. Show or Hide the FARR window.
This is useful if you want to take over triggering of FARR.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
FUTURE POSSIBILITIES
1. Display any windows controls in the output
I think a good solution to having real flexibility is to allow the coder
to display any windows control in the output window (via activex or simply
by setting parent hwnd). In this way you could really display any info.
2. Custom grid output
Short of taking over the output completely, plugins will soon be able to
ask FARR to display a table/grid of info with custom column header info.
3. Add custom info to files
You will soon be able to add info to results. This would be useful for
doing things like adding mp3 tag info to the display of mp3 files.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
WHAT DO I NEED TO MAKE A PLUGIN?
1. A FARR plugin is a DLL, and you should be able to make a plugin in any
language that can create windows DLLs.
2. All of the official samples are made in C++ (youll find samples for
dev-c++, ms visual c++, and borland c++ builder which is what the advanced
farrfox plugin is made in). But you should be able to use any language
that can create DLLs.
3. Making your plugin in C++ will be much easier curently just because
i've already written a lot of helper code your c++ plugins. If you are
writing a plugin in a language other than c++ then you are going to have
to study the C++ helper code in the Source directory to get a better idea
of what you have to do.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
OK TEACH ME HOW TO MAKE A PLUGIN!
1. I have now yet written good documentation on how to code plugins. Sorry!!
I will try to add real walkthrough and documentation later.
2. But I have tried to thoroughly document the c++ helper files and the
simple sample plugins. Please use those samples as your guide to
make a new plugin. The C++ Builder FARRFOX plugin is a full plugin which
will show you lots of tricks.
3. Feel free to email me at
[email protected] or find me on
irc (#donationcoder on efnet) for more help.
4. If anyone feels like making a walkthrough for plugin construction I
would be delighted to host it, and ditto for other language plugin code.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
HOW DO I DEPLOY/TEST MY PLUGIN?
1. Just make a subdirectory for your plugin, and place the dll and any custom
icon for it in that subdirectory (see the myplugin.cpp file for how to
specify the info for your plugin and its icon file).
2. Then just copy that subdirectory into your FARR Plugins/ subdirectory and
restart FARR (or go to plugin options to rescan for new plugins).
//---------------------------------------------------------------------------