topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday April 25, 2024, 3:06 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - vitalyb [ switch to compact view ]

Pages: prev1 2 3 4 5 [6]
126
:)

By the way, even though I wrote "C#" in the post, any .NET language can be used instead with this SDK. From VB.NET to J# so truly anyone can now write a plugin!
If

127
Download link

http://vitalyb.dcmem...rs.com/CSharpSDK.zip

Installation
1) Unpack the attached zip to: \My Documents\Visual Studio 2005\Projects\FARR Plugins
2) Copy FARR C# plugin.zip from \My Documents\Visual Studio 2005\Projects\FARR Plugins to \My Documents\Visual Studio 2005\Templates\ProjectTemplates.

Tutorial
Developing C# plugins for FARR is now easier than ever. To create your first plugin follow these steps:
1) Run Visual Studio 2005
2) File -> New Project -> Visual C# ->  FARR C# plugin (if you don't see it here, make sure you did step 2 in the installation).
3) Set the location of the project to: \My Documents\Visual Studio 2005\Projects\FARR Plugins\ (make sure "Create directory for solution" is checked).
4) Enter a name for your plugin and press OK. For the sake of the example we'll call it SamplePlugin.
5) Compile it. It should automatically be copied to FARR plugin folder and then restart FARR.
6) When FARR comes up you can trigger your plugin by writing "SamplePlugin" (case sensitive!).

If all worked well, you should have your very own first plugin! Go ahead and customize for your own needs.

If something is broken, don't panic, it is rather easy to mess the whole plugin simply by deleting one line too much in the main FARR functions. Just go back step by step until you find which part you removed.

Enjoy!

Simplified SDK

As you can see from the generated template there are 3 main classes that you will need to use:

  • FARRCSharpPluginBase - The base class of all the plugins. Contains the metadata that describes the plugin and accepts in its constructor the main ActionList of the plugin.
  • ActionList - Represents a list of actions. Your plugin must have at least one ActionList. ActionList is called with a certain string that causes its ActionItems to be displayed.
  • ActionItem - Represents a single action on the list, part of the representation is the text that is displayed on the item but also the kind of action that happens when the user executes an item.

For further understanding I suggest to play with the various functions of the classes. You can find better examples of use in these plugins (ordered by complexity):
  • FARREnviormentVariables
  • FARRGoogleCalendar
  • FARRTunes

News
  • 19/10/2008 The simplified layer of that allows a more simple and object oriented design of plugins also there is a new template that simplifies the creation of new plugins.
  • 12/02/2008 I've uploaded a new version of SDK and all my C# plugins (FARRTunes, FARRAltTab and FARREnviormentVariables). It should resolve the following issues:
    • The problem with "FARR won't close after program launch" as described here: https://www.donation...ex.php?topic=12210.0
    • The error of "Unable to retreieve types" as described in the message-box picture below.
    • Now whenever there is an exception or an error you should see WHICH plugin was causing it.
    Make sure you update ALL 3 plugins (GCUpdater should help you out here). Besides that anyone that used SDK to create a plugin should get latest version and recompile (specifically, FARRGoogleSuggest).

What's in the package

  • InstallPlugin.exe - That's the part that is for all developers. If you put this little script to the "Post Build Event" (It exists most compilers) it will auto copy your plugin to FARR directory, close FARR and reopen it. This way, whenever you build your plugin, FARR is ready to test the latest version. For those who want to fiddle with the script I also included the source in InstallPlugin.ahk. For example, in my FARRAltTab plugin the PostBuild event looks like this:

    "$(SolutionDir)..\InstallPlugin.exe" "$(TargetDir)\" "C:\Program Files\FindAndRunRobot\Plugins\FARRAltTab\\"
  • FARR CSharp SDK.chm - I compiled using NDoc a pretty referece file, some was copied was Mouser documentation and some I wrote myself. It isn't complete but it is better than nothing :)
  • FARR CSharp SDK - The main solution that holds two projects. The first one is FARRPluginRCW which is written in CLI/C++ (managed C++) and holds the actual base class for all your C# plugins. The second project is the source of FARRAltTab. Use it as your main example as you develop your plugins
  • FARRAltTab source code - The source of the FARRAltTab plugin: https://www.donation...ex.php?topic=10988.0
  • FARRTunes source code - The source of the FARRTunes plugin: https://www.donation...ex.php?topic=11545.0

And more!

Known issues

  • If you don't see the C# plugin in the FARR plugin list after the installation then download the following update from Microsoft.
  • If you get the following messagebox:
            System.Exception: Unable to load the plugin C# assembly
            at FARRPluginRCW.LoadPlugin()
    It is probably because you got an old version of FARRAltTab. It is suggested to DELETE the folder of FARRAltTab and download the latest one.
  • Some people get the following error using some of plugins, it can be sometimes resolved by getting the latest version. This issue should be RESOLVED if it isn't, let me know: image.jpg
  • Currently there is a bug that limits the amount of active C# plugins to 1. If you are interested in developing a plugin, remove the FARRAltTab first from FARR plugin directory (See more info here).

Stay in touch

I will post all the updates/fixes for now to the SDK in this thread until it is deemed stable and can be merged with the main SDK.

Enjoy!

128
Find And Run Robot / Re: plugin problems
« on: November 23, 2007, 08:23 PM »
What could be the reason that on one of my XP machines FarrFox doesn't work?
I have the latest FARR and FarrFox v. 1.03.01.

I am pretty sure it is the problem Mouser mentioned. FarrFox is the only plugin that uses regular expressions for matching and it also has a keyword, it matches exactly the problem I was having.

129
FARR Plugins and Aliases / Re: New C# FARR Plugin: FARRAltTab
« on: November 23, 2007, 08:20 PM »
Interesting, as AutoHotKey works with #Tab as a hotkey...  which is what I was using, to invoke iswitchw.ahk (which I found on the forms here I beleive).  I think now I'll setup a macro to invoke FARR with #Tab,  sending "tab\s" as you suggest.

How would you go on invoking FARR from Autohotkey?

no need - FARR now has it's own hotkey system.. you can add the hotkey from farr to launch with tab\s
-Mouser

Yeah you can... But specifically on Winkey+Tab it says that this combination is unavailable.

so wait, now I dont have to hit ALT+TAB, I have to hit another hotkey
-Josh

Ugh. I got all hot and ready to a lengthy explanation.
Whew. Anyway, everybody thanks for the compliments and you're all most welcome :)

130
FARR Plugins and Aliases / Re: New C# FARR Plugin: FARRAltTab
« on: November 23, 2007, 04:12 PM »
great plugin vitalyb !

small bug, let say you have a window called "Desktop"...

you type : des and everything is ok "Desktop" climbs to the top of the list but now if you type x (or z or any other "wrong letter")
Desktop still show in the list, but when you press enter, it does not work


You're right. Able to reproduce it too. Will fix.

Btw, suggested key combination for invoking: Alt+CapsLock with the output tab\s

I tried to take over WinKey + Tab but it doesn't let me :(

131
FARR Plugins and Aliases / Re: New C# FARR Plugin: FARRAltTab
« on: November 23, 2007, 04:09 PM »
A config window to tell the plugin to ignore certain windows or to show some windows that don't appear on task bar.

this would be very nice.

can i also request:
option to ignore (not show in list) any windows that are not minimized.


Sure! Added to todo.
Oh and almost forgot. Thanks a lot to Mouser for a very active support during development! :Thmbsup:

132
FARR Plugins and Aliases / New C# FARR Plugin: FARRAltTab
« on: November 23, 2007, 02:28 PM »
Heya
I just finished FARRAltTab plugin. Basically it lets you switch among windows using FARR and by typing the name of the window you switch to:

Screenshot - 27_11_2007 , 21_15_07.png

Download link (please unpack it to your "FARR\Plugins\FARRAltTab\" directory):
http://vitalyb.dcmem...ltTab/FARRAltTab.zip

This is a very first release that was built on a very first release of the C# SDK so bugs are expected. Please let me know of any issues.

Known issues
  • It seems that some windows are being ignored by the plugin.
  • you type : des and everything is ok "Desktop" climbs to the top of the list but now if you type x (or z or any other "wrong letter")
    Desktop still show in the list, but when you press enter, it does not work
  • The plugin performance aren't too shiny. I hope it will fixed later. It is mainly due to the way the icons are loaded.

Planned features
  • A config window to tell the plugin to ignore certain windows or to show some windows that don't appear on task bar.
  • Context menu that will enable you to close windows by overriding the shell context menu (not sure if possible)
  • option to ignore (not show in list) any windows that are not minimized.

Version History
  • 1.15 Now shows all the Windows, including those that were previously skipped (liked iTunes) also, shows all the open Windows and does not limit to 9 as before
  • 1.11 Fixed the bug that occured when a search was done for not existing string
  • 1.10 Huge performance boost on loading
  • 1.00 Initial release

Here is the link to the C# SDK along with the code of the plugin:
https://www.donation...ex.php?topic=10992.0

133
Find And Run Robot / Re: [feature request] Immediate execution
« on: November 21, 2007, 11:26 AM »
Just the way you do rplugins:

rplugins - Reload all plugins (prompting first after unload), which is useful for plugin developers to give them an opportunity to copy over a new version of their plugin dll.

When you write it, it reloads the plugins immediately without waiting for an additional enter to confirm your choice.

134
Find And Run Robot / [feature request] Immediate execution
« on: November 21, 2007, 11:10 AM »
It would be nice if there was a modifier to an alias that would cause the line to execute immediately.
I guess it should be treated with care (especially with regex) but it is still a nice feature (especially in combination with hotkeys feature).

P.S I guess I could use autohotkey instead but still.

135
Find And Run Robot / Re: [feature request] multiple run
« on: November 19, 2007, 03:46 PM »
Oh! I thought you meant multiple instances of FARR :-\ Couldn't figure why would you want to do that  :-[

136
Find And Run Robot / Re: [feature request] multiple run
« on: November 19, 2007, 01:26 PM »
Why would you need a multirun? What's the potential uses?

137
I have the following alias:

1000>>>mstsc>->MSTSC $$1 | C:\WINDOWS\system32\mstsc.exe /v:$$1>+>^mstsc (.+)

Is it possible to make it remember each execution as a result?

So if I execute "mstsc server" the next time I run mstsc it will appear there as one of the options? I guess it should work somehow with the history.

Thanks!

138
FARR Plugins and Aliases / Re: Plugins in C#
« on: November 16, 2007, 07:38 AM »
Hey, just a quick update about the C# plugin SDK:

Every C# plugin will consist of two DLLs:
1) The C++\CLI (managed C++) assembly
2) The C# assembly

When FARR loads the C++ plugin it calls its OnInit() function which in turn uses reflection to find its required C# assembly into the memory. Then it is just a matter of passing each function call to the managed extension and converting the data back and forth from managed to unmanaged types.

When it is done, the idea is that the C# developer wouldn't be aware of the C++ plugin at all, he'll just need to add a reference to my managed C++ assembly, inherit from a certain base class and override the functions he wants to.  I'll have a VERY basic (just one function) prototype working today, probably.

Right now I have most of the basic functionality built in and I believe I can do the first real C# plugin in the next days.

139
Right now I need to point FARR to a specific .ico file so I can have an icon. It would be great if I could direct it to any kind of icon holder (even if there are multiple icons inside) just like it is done right now from Windows Explorer.

Thanks!

140
FARR Plugins and Aliases / Plugins in C#
« on: November 12, 2007, 10:37 AM »
Has anyone yet wrote a wrapper to allow us to write plugins in C#?
I intend to do it if not, a bit worried it wouldn't be fast enough though.

141
Find And Run Robot / Adding "dosearch" result to as a parameter?
« on: November 11, 2007, 11:03 AM »
I'd like to do something along the lines of:

1000>>>notepad>->notepad.exe "dosearch C:\"

Well, the syntax is obviously all wrong but basically I want write:

notepad and have the option to select a file, for example c:\a.txt which will execute:

notepad.exe c:\a.txt

How do I do that?

Thanks

142
Find And Run Robot / Some questions (maybe bugs)
« on: November 09, 2007, 10:05 PM »
1) During writing in the search textbox, you can press CTRL+Z to undo almost any action except CTRL+BACKSPACE. After you press it, it deletes the last word/folder, as should, but the undo is unavailable for this action. Why is that?

2) I am a bit confused about the way number shortcuts operate with folders. With regular applications they work as documented, with folders however pressing the key combination (ctrl+# or alt+#) just adds the folder path to the textbox. Is that behavior planned?

3) The number (1) seems to be confused with folders. E.g when I write in textbox:

C:\Program Files

I get the results:

#1 C:\Program Files
#2 C:\Program Files\AGEIA
#3 C:\Program Files\Apple Software
etc

However, when I press ctrl+1 and I expect it to open C:\Program Files, it acts as if I pressed ctrl+2 - It adds to the search path: C:\Program Files\AGEIA.
Is that a bug?

Thanks

143
Find And Run Robot / Blown away
« on: November 09, 2007, 02:30 PM »
It is the first time in a long time I see such a well made and customizable software. Tried a lot of badly written and flashy Launchers (I used SlickRun before) and this one looks so far like it is WAY above everyone else. I am going to use for a few more days and if it as cool as it seems now it is I am sure to be donating for this great product.

Well done!!  :up: :up:

P.S My only complain so far is... What's up with the name?

Pages: prev1 2 3 4 5 [6]