dreadnaut Posted January 19, 2006 Report Share Posted January 19, 2006 People that write stuff for Avedesk have usability issues aswell 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
Unbeliever Posted January 19, 2006 Report Share Posted January 19, 2006 Great suggestions Link to comment
herd Posted January 20, 2006 Report Share Posted January 20, 2006 IIRC, Ave has ruled out edible events.More events is no problemgroup 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 ifAnd I have a busload of ideas to improve effectlet and script debugging but only very limited time...hth,herd Link to comment
dreadnaut Posted January 20, 2006 Author Report Share Posted January 20, 2006 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 ? 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 Avedesk not crashing now and then when a script gives an error Link to comment
AndreasV Posted January 20, 2006 Report Share Posted January 20, 2006 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
herd Posted January 22, 2006 Report Share Posted January 22, 2006 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
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now