Hi,

I'm absolutely loving Greasemonkey. As a long-time javascript tinkerer it's 
a real joy to be able to rework the user interface & functionality of sites. 


I use GM_registerMenuCommand to toggle on and off various areas of 
functionality in scripts. What would be really useful is the ability to 
change the menu text, or even better, to be able to tick/untick the menu 
item in the same way the Tools->Greasemonkey->Enabled menu option is shown.

It would be really useful for the properties of the menu created by 
GM_registerMenuCommand to be able to be changed - either text or "tick".

eg. 
[code]
var resource=GM_registerMenuCommand(foo, bar);
resource.tick = true;
resource.caption= "new menu text";
[/code]

It might also be useful to be able to "unregister" the menu, or to change 
the command function

At the moment I have to make do with static menu text and no tick - and rely 
on another menu option to alert what the current value are. See below - this 
is not really a very elegant solution:

[code]

    function show_options(e){
        var thisfeature = GM_getValue("this_feature", false);
        var thatfeature = GM_getValue("that_feature", false);
        var anotherfeature = GM_getValue("another_feature", false);
        alert("On next page load:\nThis feature will "+((!thisfeature)?'not 
':'')+"be active.\nThat feature will "+((!thatfeature)?'not ':'')+"be 
active.\nAnother feature will "+((!anotherfeature)?'not ':'')+"be 
active.\n");
    }
    GM_registerMenuCommand("Show currently selected options", show_options); 


    function toggle_thisfeature(e){
        var thisfeature = GM_getValue("this_feature", false);
        alert('On next page load this feature will '+((thisfeature)?'not 
':'')+'be active.');
        GM_setValue("this_feature", !thisfeature);
    }
    GM_registerMenuCommand("Toggle this feature on or off", 
toggle_thisfeature);

    function toggle_thatfeature(e){
        var thatfeature = GM_getValue("that_feature", false);
        alert('On next page load that feature will '+((thatfeature)?'not 
':'')+'be active.');
        GM_setValue("that_feature", !thatfeature);
    }
    GM_registerMenuCommand("Toggle that feature on or off", 
toggle_thatfeature);    
    
    function toggle_anotherfeature(e){
        var anotherfeature = GM_getValue("another_feature", false);
        alert('On next page load another feature will 
'+((anotherfeature)?'not ':'')+'be active.');
        GM_setValue("another_feature", !anotherfeature);
    }
    GM_registerMenuCommand("Toggle another feature on or off", 
toggle_anotherfeature);
[/code]

Do you think that this is something that would be possible?

-- 
You received this message because you are subscribed to the Google Groups 
"greasemonkey-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/greasemonkey-users?hl=en.

Reply via email to