[OS X TeX] customizing menu shortcut keys in TeXShop
Charles Chapman Pugh
pugh at Math.Berkeley.EDU
Wed Jun 8 20:01:50 CEST 2005
Hello.
In the help files for TeXShop 2.03, there are directions for
customizing the menu shortcut keys. You go the file
KeyEquivalents.plist whose location is
~/Library/TeXShop/Menus/KeyEquivalents.plist
and then you modify it, save the result, and that should do it. An
example is given in the KeyEquivalents.plist file, which is indeed
located as it should be. The example is commented out because it is
a "crazy redefinition," which among other things removes the keyboard
command Apple-W from the close operation in the file menu.
Well, after trying to emulate the example file, I got no change in
the menus or shortcuts, so, as an experiment, I duplicated the crazy
part and removed its commenting-out brackets, saved the result, quit
TexShop for good measure, started it back up, opened a file, and the
menus were unchanged. Apple-W still closed things up.
What am I missing?
Best, Charles Pugh
Here is what the KeyEquivalents.plist file looks like after the
changes I made.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://
www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!--
Advanced users can replace TeXShop's default keyboard menu
shortcuts with their
own customized versions using this file. This file must be named
"KeyEquivalents.plsit"
and live in the folder ~/Library/TeXShop/Menus.
The structure of this file is as follows. At the top level, we
list the items
in the main TeXShop menu: TeXShop, File, Edit, Format, etc. We
need only list
menus containing items whose key equivalents we want to change.
Below each
top level menu is a dictionary containing items in this menu
whose key equivalents
are to be changed. Again, we need only list items to be changed.
If such an item is a submenu, then the item is followed by a
dictionary listing
the items in the submenu. Otherwise, the item is followed by an
array to be described
in the next paragraph. TeXShop has no submenus of depth larger
than one.
The first element of the array is the character giving the key
equivalent
of the menu item. This character can be a lower case or upper
case character. For instance, it
could be "c" or "C". (On the menu display, it will be
capitalized, and an extra shift character
will appear for capitol letters.) The next array element is
"true" if the option key
should be down and "false" otherwise. The final array element is
"true" if the control
key should be down and "false" otherwise.
In this file, menu items can be identified by a string
containing the menu contents,
or by a string with an integer listing the menu location. For
example, the "Open" item
in the "File" menu can be identified as <key>Open</key> or as
<key>6</key>. Notice that
the first item in a menu is numbered "1" rather than "0".
Similarly the main
menus across the top of the screen can be listed by name or
number. The Apple menu does
not count, so "TeXShop" is <key>TeXShop</key> or <key>1</key>,
"File" is <key>File</key>
or <key>2</key>, etc.
The advantage of names is that they are easier to read. However,
the names refer to
whatever localized version is running when the program starts,
so if TeXShop has
modified menu key equivalents in German, these equivalents will
not remain when
it is run in English.
The advantage of numbers is that the configuration then works in
all languages.
However, if a new version of TeXShop appears with menu items in
different locations,
this file will need to be modified.
If a key command is added to a menu item but it is already being
used elsewhere, the
command will not "take." In that case, the other command must be
removed or changed.
To remove a command, write the first array element as <string></
string>. The order
of these operations does not matter, so a key command can be
assigned to a new
menu item at one spot in this file, and later removed from its
original item.
Below is an example to show how this works. The example
implements a crazy redefinition:
the key equivalent W is removed from the Close menu, and
Comment, Uncomment, Indent,
and Unindent items are assigned X, Y, Z, W with various
combinations of option and
control keys. Since nobody would actually want to do this, the
example is commented out;
use it as a guide and add similar definitions which are not
bracketed inside the
comment symbols <!-- and -->
-->
<!--
<dict>
<key>File</key>
<dict>
<key>6</key> <!-- Close -->
<array>
<string></string>
<true/>
<true/>
</array>
<key>10</key> <!-- Revert To Saved -->
<array>
<string></string>
<false/>
<false/>
</array>
</dict>
<key>Edit</key>
<dict>
<key>Find</key>
<dict>
<key>1</key> <!-- Find... -->
<array>
<string>u</string>
<false/>
<false/>
</array>
</dict>
</dict>
<key>4</key> <!-- Format -->
<dict>
<key>Comment</key>
<array>
<string>X</string>
<true/>
<false/>
</array>
<key>Indent</key>
<array>
<string>Z</string>
<false/>
<true/>
</array>
<key>Uncomment</key>
<array>
<string>y</string>
<true/>
<true/>
</array>
<key>Unindent</key>
<array>
<string>w</string>
<false/>
<false/>
</array>
</dict>
</dict>
</plist>
-->
<dict>
<key>File</key>
<dict>
<key>6</key> <!-- Close -->
<array>
<string></string>
<true/>
<true/>
</array>
<key>10</key> <!-- Revert To Saved -->
<array>
<string></string>
<false/>
<false/>
</array>
</dict>
<key>Edit</key>
<dict>
<key>Find</key>
<dict>
<key>1</key> <!-- Find... -->
<array>
<string>u</string>
<false/>
<false/>
</array>
</dict>
</dict>
<key>4</key> <!-- Format -->
<dict>
<key>Comment</key>
<array>
<string>X</string>
<true/>
<false/>
</array>
<key>Indent</key>
<array>
<string>Z</string>
<false/>
<true/>
</array>
<key>Uncomment</key>
<array>
<string>y</string>
<true/>
<true/>
</array>
<key>Unindent</key>
<array>
<string>w</string>
<false/>
<false/>
</array>
</dict>
</dict>
</plist>
--------------------- Info ---------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Post: <mailto:MacOSX-TeX at email.esm.psu.edu>
More information about the macostex-archives
mailing list