Jump to content

Avedesk 1.4 - Developers' ideas


Recommended Posts

People that write stuff for Avedesk have usability issues aswell :D If anyone wants to write something, I think it's better to do it here than in the main [uI related] thread.

I'll start with a few things that I'd like to have when writing effectlets ( my little love :) )

  • edible events (we talked about this before)
  • more events (on hover / on drag over / on drop / middle click)
  • group id - a simple integer field for desklets. Some UI to let the user group his desklet would be optional ( in this case, I second a "advanced options" tab, hidden by default )

Link to comment

IIRC, Ave has ruled out edible events.

More events is no problem

group id is no good idea unless it reflects some grouping in the user interface, but how about this:

The Tag property is really too limited for multiple users.

Let's assume:

  set otherdesklet = FindSomeDeskletSomehow()
otherdesklet.runtimeprop("MyProp") = 22
...

if desklet.runtimeprop("MyProp") = otherdesklet.runtimeprop("MyProp") then
... some stuff
end if

...
set desklet.runtimeprop("myTunes") = CreateObject("iTunes.Application")
...

if somedesklet.effect.iseffectlet then
somedesklet.effectlet.somelocalvariable = "Hello World!"
call somedesklet.effectlet.somelocalprocedure("SomeParam", 4711)
if somedesklet.effectlet.somelocalprocedure() then
...
end if
end if

This would open some cross effectlet scripting.

I'm also thinking of opening the script runtime scope of scripted desklets to each other with 1.4, so that you could call each others routines and access each others variables, as can be seen above for effectlets:

  if typename(desklet.objectmodel) = "SysStats" then
if not desklet.scope is nothing then
msgbox typename(scope.someLocallyDefinedVariableInSysStats)
end if
end if

And I have a busload of ideas to improve effectlet and script debugging but only very limited time...

hth,

herd

Link to comment

I can probably live without edible events, ok :) I had this dream of a folder pidlshortcut, that would accept files on drop and run a program if clicked... I'll find another way.

Group ID is something that came to my mind while writing the group toggle script. Yes, is no good because desklet are not actually grouped in Avedesk. What if I stop calling it group id ? :D Something like "desklet identifier" ?

What I feel is needed is a way for a script (internal or external) to access a particular desklet (or more than one). I can check captions, but they may change (e.g. cdrom drives). I can use the parameters that Avedesk passes to a tool, but they are not fixed.

I think I like the possibility to call another desklet's method - what I currently do is assigning an object to the Tag field, and then calling its methods. I get some wonderful errors now and then, I don't know why :)

Two things that would help and speed up debugging would be:

a) a "reload effect" button, so I don't have to assign another effect, then switch back to the one I'm testing and set all the parameters

B) Avedesk not crashing now and then when a script gives an error ;)

Link to comment
I can probably live without edible events, ok I had this dream of a folder pidlshortcut, that would accept files on drop and run a program if clicked... I'll find another way.
I think that's better done by creating another desklet for it.

For the other things mentioned I send you back to herd ;)

Link to comment

Well, the one unique desklet identifier is the HWND property of the desklet object. But that changes from run time to run time.

A reload effectlet button (or command) is on my stack already :)

A thread local script error can't possibly crash avedesk since they are all caught. Probably your cross-desklet objects are not thread safe? So far, the avedesk object model was not threadsafe between different desklets but this problem is solved already for 1.4.

You also seem to need access to a particular desklets effectlet, right?

Also I think you can somehow create a simple folder shortcut desklet with AveScripter and add the magic that you want without involving an effectlet...

Link to comment

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...