GM.registerMenuCommand: Difference between revisions

From GreaseSpot Wiki
Jump to navigationJump to search
Marti (talk | contribs)
m marking core sample code vs other sample code
LWChris (talk | contribs)
→‎See Also: Rephrase GM_config reference to make it even clearer that this is a 3rd party tool, not a native feature/function.
 
(28 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{underscore|title=GM_registerMenuCommand}}
__NOTOC__
{{Greasemonkey Manual TOC}}
== Description ==
== Description ==


This [[API_reference|API]] method allows user scripts to add a menu command to the [[Greasemonkey_Manual:Monkey_Menu#The_Menu|"User Script Commands" submenu]].
This method allows user scripts to add an item to the [[Greasemonkey_Manual:Monkey_Menu#The_Menu|User Script Commands]] menu.


[[#Examples|Examples]] | [[#Notes|Notes]]
Compatibility: [[Version_history#4.11|Greasemonkey 4.11+]]


== Syntax ==
== Syntax ==


'''GM_registerMenuCommand(''' ''commandName'', ''commandFunc'', ''accelKey'', ''accelModifiers'', ''accessKey'' ''')'''
{{Function|GM.registerMenuCommand|caption, commandFunc, accessKey}}
 
:Value: Function
:Returns: undefined
:Compatibility: [[Version_history#0.2.5|Greasemonkey 0.2.5+]]
 
:{| cellpadding="5" style="border-style:solid; background:#FFFFE0;"
|+ Parameters
!style="background:#CC9900;"|'''Properties''' || style="background:#CC9900;"|'''Event Handlers'''
|-
| <code><span style="background:#FFFFE0;">[[#commandName |commandName]]</span></code> ||<code><span style="background:#FFFFE0;">[[#commandFunc|commandFunc]]</span></code>
|-
|<code><span style="background:#FFFFE0;">[[#accelKey |accelKey]]</span></code>
|-
|<code><span style="background:#FFFFE0;">[[#accelModifiers |accelModifiers]]</span></code>
|-
|<code><span style="background:#FFFFE0;">[[#accessKey |accessKey]]</span></code>
|}
:* All properties and event handlers are optional except [[#commandName|commandName]] and [[#commandFunc|commandFunc]].
 
[[#top|top]]
=== Properties ===
----
==== <code>commandName</code> ====
:Value: String
:Usage: <code>'''commandName''' = "Some Name";</code>
 
:* Name to display in the [[Greasemonkey_Manual:Monkey_Menu#The_Menu|"User Script Commands" submenu]].
 
[[#top|top]] | [[#Syntax|back]]''
 
==== <code>commandFunc</code> ====
:Value: Function
:Usage: <code>'''commandFunc''' = function(){ ''/* some code */'' };</code>


:* Function to call
=== Arguments ===


[[#top|top]] | [[#Syntax|back]]
; <code>caption</code>
: <code>String</code> The caption to display on the menu item.
; <code>commandFunc</code>
: <code>Function</code> The function to call when this menu item is selected by the user.
; <code>accessKey</code>
: <code>String</code> A single character that can be used to select command when the menu is open.  It should be a letter in the <code>caption</code>. [https://developer.mozilla.org/en/XUL/Attribute/accesskey]


==== <code>accelKey</code> ====
==== History ====
:Value: String
:Usage: <code>'''accelKey''' = "g";</code>


:* A single character or keycode that can trigger the command.
This method existed in a similar but different form before Greasemonkey 4.0.


[[#top|top]] | [[#Syntax|back]]
== Returns ==


==== <code>accelModifiers</code> ====
<code>undefined</code>
:Value: String
:Usage: <code>'''accelModifiers''' = "control alt";</code>
 
:* A string listing modifiers that must be pressed with the [[#accelKey|accelKey]]. If there's more than one, then they should be separated with spaces. Available modifiers are: shift, alt, meta, control, and accel.
 
[[#top|top]] | [[#Syntax|back]]
 
==== <code>accessKey</code> ====
:Value: String
:Usage: <code>'''accessKey''' = "g";</code>
 
:* A single character that can be used to jump to the command when the menu is open. It should be a letter in [[#commandName|commandName]].
 
[[#top|top]] | [[#Syntax|back]]


== Examples ==
== Examples ==
{{Core samp |1=<pre style="border: none; margin: inherit;">GM_registerMenuCommand("Hello, world (simple)", helloSimple);</pre>}}


{{Core samp |1=<pre style="border: none; margin: inherit;">GM_registerMenuCommand("Hello, world!", hello, "e", "control", "h");</pre>}}
<pre class='sample'>GM.registerMenuCommand("Hello, world (simple)", () => alert("Hello, world!"));</pre>


{{Core samp |1=<pre style="border: none; margin: inherit;">GM_registerMenuCommand("Hello, world! (again)", hello2, "e", "shift alt", "w");</pre>}}
<pre class='sample'>function hello() { ... }
GM.registerMenuCommand("Hello, world!", hello, "h");</pre>


[[Category:API_Reference|R]]


[[#top|top]]
== See Also ==


== Notes ==
The third-party <code>@require</code> library "[[GM_config]]" by ''sizzlemctwizzle'' is frequently used with <code>GM.registerMenuCommand</code>.
 
[[#top|top]]
[[Category:API_Reference|R]]

Latest revision as of 02:11, 13 December 2023

Description

This method allows user scripts to add an item to the User Script Commands menu.

Compatibility: Greasemonkey 4.11+

Syntax

function GM.registerMenuCommand( caption, commandFunc, accessKey )

Arguments

caption
String The caption to display on the menu item.
commandFunc
Function The function to call when this menu item is selected by the user.
accessKey
String A single character that can be used to select command when the menu is open. It should be a letter in the caption. [1]

History

This method existed in a similar but different form before Greasemonkey 4.0.

Returns

undefined

Examples

GM.registerMenuCommand("Hello, world (simple)", () => alert("Hello, world!"));
function hello() { ... }
GM.registerMenuCommand("Hello, world!", hello, "h");

See Also

The third-party @require library "GM_config" by sizzlemctwizzle is frequently used with GM.registerMenuCommand.