[release] Group Toggle Effectlet

I love when someone comes out with a good question :)

Introducing "Group Effectlets". Effectlets that will not only affect the single desklet they are applied to, but also others! Using the GID Script you can assign a desklet to a group. This way other effects (Group-Effects) will be able to address the entire group as a whole.

As a first experiment I made a Toggle Effectlet that lets you hide and show a whole group of desklets! :D

How does it work?

- Install both the GID and G-Toggle Effectlet.

- Create a group: add the GID Effectlet to all the desklet you want to group, and give them the same Group Identifier.

- You can now hide and show this group using a desklet with the G-Toggle Effectlet or the toggleGroup.vbs script.

gtoggleeffectlet.jpg

[update] External VbScript !

Using the VbScript attached to this message, you can create a shortcut that will hide or show groups of desklets!

usage: toggleGroup.vbs [state]

where GroupIdentifier is the ID of the group, as set with the GID Script

and state is an optional integer: 0 hides the group, 1 makes it visible, no value means toggle

Tutorial

  • Download the GID and Group Toggle packages and install them (drag & drop on Avedesk control panel)
  • Optional - Download the ToggleGroup.vbs file. You can put it wherever you like !
  • Create your group: for each desklet member of the group, go to its properties page, assign the GID Effect and configure the Group Identifier (e.g. = 3).

Now you can choose:

  • If you want a trigger desklet, create a new desklet, and in its property page assign the Group Toggle effect.
    Configure its Group Identifier to be the same as the group
  • If you want a trigger shortcut, create a new shortcut to ToggleGroup.vbs (on the desktop, in a dock, in a menu...).
    As a command line parameter for the script, use the same GroupIdentifier of the desklets you want to hide/show.
    (e.g. toggleGroup.vbs 3 )

Download the aveinst packages for both GID and Toggle effectlets, from chezDreadnaut or from Avedesk.org:

- GID Script 0.0.2

- G-Toggle Effectlet 0.0.1

Version 0.0.2 ( 25-04-2006 )

- GID effect now cleans up when removed

Version 0.0.1

- No known issues ?! :D

here as an attachment, you find a sample toggle script that can be used to hide/show a group. More informations inside the archive :)

toggleGroup.zip

Attachment: toggleGroup.zip

#351314

very cool, are the effects triggered by hovering over one desklet or any of the desklets in the assigned group?

#351318

for the moment, there is a trigger desklet that accept different events. You can choose between mouse On/Out, Left/Right Click, Select and Deselect. The group affected cannot include the trigger desklet. If it was, then it would be difficult to show the group again :)

#351329

this seems really nice... may have to install avedesk just for this... can the trigger desklet be mounted inside a dock (ahem.. the unmentioned dock specifically)

#351336

effeclets are always cool.

There's a section of effectlets at avedesk.org.

#351344

This is awesome, but how do you set it up? I can't get it too work. :(

#351353

this seems really nice... may have to install avedesk just for this... can the trigger desklet be mounted inside a dock (ahem.. the unmentioned dock specifically)

I love this board... more people with good ideas. I wrote a vbscript that can hide/show groups, so you can make a shortcut in every menu or dock you like. See 1st post.

@pcm: I'm going to add this on avedesk.org after a bit of testing ;)

@Trent: I'll add instructions

#351364

great man... I'm at home now and will definitely be testing this... i will most like use some systats or something but only show when i want o see it... hopefully i can get something going w/o the instructions in developement...

this board is great simply cause of the developers

edit1

I'm new to this... dled GID Script and Toggle... installed GID fine... where do I put the VBScript (tools?).. then what?

edit2

okay, so i made an icon w/ the GID effectlet set to 2... then created a shortcut on the desktop pointing to the vbscript... however adding the group and state on the end of the file causes windows to not recognize the extension... adding it in the argument line... no good... im lost, pls help

#351472

Excellent! I love seeing new effectlets coming out, and I can certainly see the usefulness of this one ;).

Thanks!

-NC

#351549

I'm new to this... dled GID Script and Toggle... installed GID fine... where do I put the VBScript (tools?).. then what?

okay, so i made an icon w/ the GID effectlet set to 2... then created a shortcut on the desktop pointing to the vbscript... however adding the group and state on the end of the file causes windows to not recognize the extension... adding it in the argument line... no good... im lost, pls help

It's probably more difficult than I though ;) I'll try step by step, I know you've done some but it's for everybody.

  • Download the GID and Group Toggle packages and install them (drag & drop on Avedesk control panel)
  • Optional - Download the ToggleGroup.vbs file. You can put it wherever you like !
  • Create your group: for each desklet member of the group, go to its properties page, assign the GID Effect and configure the Group Identifier (e.g. = 3).

Now you can choose:

  • If you want a trigger desklet, create a new desklet, and in its property page assign the Group Toggle effect.
    Configure its Group Identifier to be the same as the group
  • If you want a trigger shortcut, create a new shortcut to ToggleGroup.vbs (on the desktop, in a dock, in a menu...).
    As a command line parameter for the script, use the same GroupIdentifier of the desklets you want to hide/show.
    (e.g. toggleGroup.vbs 3 )

Hope this clears the method !

@Andreas, do you see why a group ID built-in in Avedesk would be nice ? :D

#351602

awesome, i actually figured it out last night... just used a shortcut to the actual vbs file and added the group and state into the arguments... works perfect in my dock!

I was confused cause i dled the vbs and not the effectlet... i expected the effect to magically show up... stupid me

#351618

Is there any way to make the desklets that appear disappear again once I click on one? For example if I click on widget A (the "trigger desklet") and widget B, C and D show up, how would I make it so that B, C and D disappear once I click on one of them, instead of having to click on widget A again to make them disappear?

Not sure if I communicated clearly...sorry Enlgish is my 2nd language.

#353581

I agree with madbwattas...

I just started using Avedesk and I thought the group thing was awesome. I would like it to work like a glorified start menu for my kids (and my) games...

Example:

Three group trigger icons (GT): Racing, FPS, Kids

Mouse over would cause each of the group icons (GI) to show, mouse out they would disappear (within a timeout) AND if you went to one of the other GI icons they will still all show.

Switching GT icons would be immediate for the old GI's to disappear and the new GI's to appear.

This way you could use the same desktop area for the GI icons.

This would be much in the way the start menu works, but the pretty, eye candy way. Maybe since I am new at this I am using the wrong thing. Don't know, but I thought this would do it and it 1/2 does.

Very close, I still love it.. and I know this is all new.

#358290

I can try to add the group disappear when I click a member, but I'm not sure I can make it with 1.3. It's not possible to have the group stay if you go on a member and disappear when you just leave the trigger: how can I tell if you are leaving it for good or just to go to a member of its group ? :D I could add a delay, and see how it feels.

@tschwenke:

I know it's a complete different program, but you can try kkmenu if you just want a nice start menu, even if more traditional in it's shape.

anyway, every further development is delayed till I (hopefully) get my data back :slant:

#358300

Thanks for the quick response..

My thought was.. (GIDT = the toggle icon)

If you leave GIDT=2 and the next icon is GIDT=3, then hide all 2 members and show 3.

If you leave GIDT=2 and the next icon is not a member of GID=2 within X time, then all the GID's would dissapear (save the trigger icon, you get the drift). You wouldn't hide the group until you left any of the GID's for that same X time or you selected one of them.

I have no idea if suff that like is even feasible. My life is embedded programing not this kind of work. I liked using the nice big icons for the control for the kids, but the other route might have to work..

And boy, I though I was confused between WB / Themes / Visual Syles (all easy now). I start looking at this and there are lots of different choices and I am not sure what to even try out first! (RkLauncher / objectdock / kkmenu, more reading and I will get it all straight)

Get that data back! (good luck, ghost and large server drives are my friend)

#358316

I see what you mean, but at the moment it's quite complex to create indirect interactions between effectlets (id est, desklets). At the very least, every desklet would have to check all the others to discover which one is its trigger. What if there are more triggers for the same group? what if there is none? How can I notify the triggers of the new state of their group? again, polling? I'm not sure I want to poll much :P

for my data, it's more a problem of finding a twin hard-drive and perform some... surgery :o

#358334

Thinking...

If there was a delay timer on the mouse out hide, similar to the slide effect, that value could be set high (5-10 seconds) so you could hover over the trigger, show the icons, leave and have enough time to select the icon before it gets hidden.

Moving over a different Trigger would cause an immediate hide of all group icons and displaying of the new group.

Would that take care of any pooling? and make it more event based? I am not a big fan of wasting cycles 'just because' either.

I did drive surgery once for a friend, surprisingly it worked. I was thinking he hurt more than the control board in the accident.. have fun.

#358874

If there was a delay timer on the mouse out hide, similar to the slide effect, that value could be set high (5-10 seconds) so you could hover over the trigger, show the icons, leave and have enough time to select the icon before it gets hidden.

this would work :)

Moving over a different Trigger would cause an immediate hide of all group icons and displaying of the new group.

when you move the mouse over a new trigger, I have to tell the other triggers to hide their groups, or hide them from the new trigger. In the former case, I need to have a group of trigger, a meta-group kind of thing, and create inter-meta-group communication. Not impossible I suppose. In the second case, if I hide them from the new trigger, the other trigger will be in a state that differs from reality and some mess will happen :D

I'll think about it ;)

#358879

Hallo guys !

!! P R O B L E M !!

This GID is really cool ! But I can only IMAGIN that it is so nice !

I have a problem with my GID, couse Avedesk saying that it is not working with it.

It is saying I will try to translate :

This object do not work with this properties or method.:Desklet.Tag'

What can I do ?

I'm not sure did I instal it in propa way. I just drop it into Effects folder...is it wright way to do so ?

Big hallo from Poland !!

Take care

dreadnaut

#369107

Thanks for your script dreadnaut :)

I edited your script for my own use, a bar of shortcut.

If you are intrested :

Dim oArgs, Act , GID, GID1, GID2, GID3, GID4

Set oArgs = WScript.Arguments



If oArgs.Count > 0 Then

Act = CInt(oArgs(0))

GID = CInt(oArgs(1))

IF oArgs.Count > "2" Then

GID1 = CInt(oArgs(2))

NB = "1"

End If

IF oArgs.Count > "3" Then

GID2 = CInt(oArgs(3))

NB = "2"

End If

IF oArgs.Count > "4" Then

GID3 = CInt(oArgs(4))

NB = "3"

End If

IF oArgs.Count > "5" Then

GID4 = CInt(oArgs(5))

NB = "4"

End If

Else

WScript.Echo "Dreadnaut's ToggleGroup Script (requires Avedesk and GID Script!)" & chr(13) &_

" Usage: toggleGroup.vbs [Action] <GroupIdentifierMaster> <GroupIdentifier1> <GroupIdentifier2> <GroupIdentifier3> <GroupIdentifier4>" & chr(13) & chr(13) &_

" Action : 0 = Hide all" & chr(13) &_

" 1 = Show all" & chr(13) &_

" 2 = Toggle visibility of all" & chr(13) &_

" 3 = Invert visibility of GroupIdentifierMaster/others" & chr(13) &_

" 4 = Invert visibility of GroupIdentifierMaster/GroupIdentifier1 and hide the others"



WScript.Quit -1

End If



If Act = "0" Then

Act = "false"

Elseif Act = "1" Then

Act = "true"

Elseif Act = "2" Then

Act = "tog"

Elseif Act = "3" Then

Act = "3"

Elseif Act = "4" Then

Act = "4"

Else

Act = "tog"

End If





Set ad = CreateObject("AveDesk.Application")



'etat = "0"



If Act = "3" Then



For Each d In ad.RunningDesklets

If d.Tag = GID Then

Etat1 = d.visible

End If

Next

For Each d In ad.RunningDesklets

If d.Tag = GID Then

d.Visible = Not Etat1

End If

If NB > "0" Then

If d.Tag = GID1 Then

d.Visible = Etat1

End If

End If

If NB > "1" Then

If d.Tag = GID2 Then

d.Visible = Etat1

End If

End If

If NB > "2" Then

If d.Tag = GID3 Then

d.Visible = Etat1

End If

End If

If NB > "3" Then

If d.Tag = GID4 Then

d.Visible = Etat1

End If

End If

Next



Elseif Act = "4" Then



For Each d In ad.RunningDesklets

If d.Tag = GID Then

Etat1 = d.visible

End If

Next

For Each d In ad.RunningDesklets

If d.Tag = GID Then

d.Visible = Not Etat1

End If

If NB > "0" Then

If d.Tag = GID1 Then

d.Visible = Etat1

End If

End If

If NB > "1" Then

If d.Tag = GID2 Then

d.Visible = "false"

End If

End If

If NB > "2" Then

If d.Tag = GID3 Then

d.Visible = "false"

End If

End If

If NB > "3" Then

If d.Tag = GID4 Then

d.Visible = "false"

End If

End If

Next



Else



For Each d In ad.RunningDesklets

If d.Tag = GID Then

If Act = "tog" Then

Act = Not d.Visible

End If

d.Visible = Act

End If

If NB > "0" Then

If d.Tag = GID1 Then

If Act = "tog" Then

Act = Not d.Visible

End If

d.Visible = Act

End If

End If

If NB > "1" Then

If d.Tag = GID2 Then

If Act = "tog" Then

Act = Not d.Visible

End If

d.Visible = Act

End If

End If

If NB > "2" Then

If d.Tag = GID3 Then

If Act = "tog" Then

Act = Not d.Visible

End If

d.Visible = Act

End If

End If

If NB > "3" Then

If d.Tag = GID4 Then

If Act = "tog" Then

Act = Not d.Visible

End If

d.Visible = Act

End If

End If





Next



End if



Set ad = nothing

Set oArgs = nothing

#372316

This is really cool I'm using it now. two requests:

1. add an option to make the things fade

2. add an option to kind of add a selection box effectlet and the other effectlet together.

#372341

You can use my little application AveToggle.

Usage: AveToggle

Note: AveToggle 0 will make visible all Desklets

You can use HoeKey application and add some lines in hoekey.ini file:

^@1=Run|C:ShellAvedeskAveToggle.exe 1|2 ; Ctrl+Alt+1 - Toggle GID 1

^@2=Run|C:ShellAvedeskAveToggle.exe 2|2 ; Ctrl+Alt+2 - Toggle GID 2

^@3=Run|C:ShellAvedeskAveToggle.exe 3|2 ; Ctrl+Alt+3 - Toggle GID 3

^@4=Run|C:ShellAvedeskAveToggle.exe 4|2 ; Ctrl+Alt+4 - Toggle GID 4

AveToggle.zip

Attachment: AveToggle.zip

#372425

a bit late to reply, only now I'm starting to recover from my february-crash :)

@zacharia: I can think about the fade option, but I have don't think I can add "multiple effectlets" - you can try to "merge" the two scripts, if they are both VBS.

thanks to everyone who developed stuff using GID !

A bit I hope some kind of ID will be integrated in the 1.4 release [ hint hint ! ;) ]

uh, main reason for this post: thanks to NC a bug has been corrected in the GID script ( see the first post in this thread ) and I uploaded both effectlets to www.avedesk.org

#383068

deleted and reposted to a more visible and independant post in the general section - sorry!

#461649