Re: How add a menu item with a menu key using an init.m
- To: mathgroup at smc.vnet.net
- Subject: [mg125241] Re: How add a menu item with a menu key using an init.m
- From: John Fultz <jfultz at wolfram.com>
- Date: Thu, 1 Mar 2012 05:36:31 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Reply-to: jfultz at wolfram.com
On Sat, 25 Feb 2012 01:58:51 -0500 (EST), Chris Degnen wrote:
> Murray Eisenberg wrote:
>
>> Here's what I put there:
>>
>> FrontEnd`AddMenuCommands["Input from Above",
>> {Delimiter,Item["Options &Explorer",
>> KernelExecute[ToExpression["OptionsExplorer[]"]],
>> MenuKey["o",Modifiers->{Control,Command}],
>> MenuEvaluator->Automatic]}];
>>
>> But nothing happens after a restart of Mathematica with clean cache.
>> What's wrong? Did I err in indicating the Insert menu's entry "Item from
>> Above" referenced there? Or something else.
>>
> There are two problems: the front end token for the Insert
> menu position would be "DuplicatePreviousOutput", and, more
> problematically, AddMenuCommands can only add simple
> front end tokens like "OptionsDialog" (as demonstrated by
> Andy Ross).
>
> FrontEndExecute[AddMenuCommands["DuplicatePreviousOutput",
> {Delimiter, MenuItem["Options &Explorer", "OptionsDialog",
> MenuKey["O", Modifiers -> {"Control", "Shift"}]]}]];
No, you have this backwards. AddMenuCommands can only *position* a menu
relative to one with a simple front end token. The command that you're adding
can be any menu command.
Sincerely,
John Fultz
jfultz at wolfram.com
User Interface Group
Wolfram Research, Inc.
>
>
> On Feb 21, 11:17 am, Murray Eisenberg <mur... at math.umass.edu> wrote:
>> I want to add an item to the Insert menu that executes a particular
>> kernel command and is activated by a particular shortcut key. And I want
>> to do this _without_ modifying and of the .tr files in
>> $InstallationDirectory/SystemFiles/FrontEnd/TextResources but only by
>> modifying files in the $UserBaseDirectory tree. (So that such changes
>> will be preserved across version updates.)
>>
>> I know that in principle one can do this by creating (or editing an
>> existing) file:
>>
>> Autoload`PacletManagerConfiguration``FrontEnd``init.m
>>
>> Here's what I put there:
>>
>> FrontEnd`AddMenuCommands["Input from Above",
>> {Delimiter,Item["Options &Explorer",
>> KernelExecute[ToExpression["OptionsExplorer[]"]],
>> MenuKey["o",Modifiers->{Control,Command}],
>> MenuEvaluator->Automatic]}];
>>
>> But nothing happens after a restart of Mathematica with clean cache.
>>
>> What's wrong? Did I err in indicating the Insert menu's entry "Item from
>> Above" referenced there? Or something else.
>>
>> Note that the corresponding modification, instead, to MenuSetup.tr
>> would be:
>>
>> Item["Options &Explorer",
>> KernelExecute[ToExpression["OptionsExplorer[]"]],
>> MenuKey["o", Modifiers->{Control,Command}],
>> MenuEvaluator->Automatic]
>>
>> (This is specifically to invoke Yuri Kandrashkin's OptionsExplorer
>> package. But of course my question has more general applicability.)
>>
>> --
>> Murray Eisenberg mur... at math.umass.edu
>> Mathematics & Statistics Dept.
>> Lederle Graduate Research Tower phone413 549-
>> 1020begin_of_the_skype_highlighting 413 549-1020 (H)
>> University of Massachusetts 413 545-
>> 2859begin_of_the_skype_highlighting 413 545-2859 (W)
>> 710 North Pleasant Street fax 413 545-1801
>> Amherst, MA 01003-9305