Loading ...
Sorry, an error occurred while loading the content.

Re: Command-key menu equivalents

Expand Messages
  • raindog@mediaone.net
    ... On top of patches 1-93 and one of Dany s patches (I didn t know there are others). Are there instructions somewhere with a list of the necessary patches?
    Message 1 of 16 , Dec 12, 2001
    • 0 Attachment
      On Tuesday, December 11, 2001, at 02:06 PM, Benji Fisher wrote:
      >
      > > On Sunday, December 9, 2001, at 04:44 PM, raindog@... wrote:
      > >
      > > here's a patch that enables the display (right-justified,
      > > with clover symbol) of command-key equivalents in Vim menus.
      >
      > I tried the patch, and it seems to work fine. Thanks! The only slight
      > worry is that patch reported an offset of 183 lines. Did you base the
      > patch on the original vim 6.0 sources (I assume so) or on top of Dany
      > St-Amant's patches?

      On top of patches 1-93 and one of Dany's patches (I didn't know there
      are others). Are there instructions somewhere with a list of the
      necessary patches?

      RD
    • Benji Fisher
      ... I am afraid we are not that organized. Pretty soon, dany should send his patch to Bram, and it will be made official. In the mean time, you just have to
      Message 2 of 16 , Dec 12, 2001
      • 0 Attachment
        raindog@... wrote:
        >
        > On Tuesday, December 11, 2001, at 02:06 PM, Benji Fisher wrote:
        > >
        > > > On Sunday, December 9, 2001, at 04:44 PM, raindog@... wrote:
        > > >
        > > > here's a patch that enables the display (right-justified,
        > > > with clover symbol) of command-key equivalents in Vim menus.
        > >
        > > I tried the patch, and it seems to work fine. Thanks! The only slight
        > > worry is that patch reported an offset of 183 lines. Did you base the
        > > patch on the original vim 6.0 sources (I assume so) or on top of Dany
        > > St-Amant's patches?
        >
        > On top of patches 1-93 and one of Dany's patches (I didn't know there
        > are others). Are there instructions somewhere with a list of the
        > necessary patches?

        I am afraid we are not that organized. Pretty soon, dany should send his
        patch to Bram, and it will be made official. In the mean time, you just have
        to watch this list (or have a look at the archive). If you want, I'll send
        you a copy of the patch off the list (or maybe Dany will send you something
        more up-to-date).

        --Benji Fisher
      • Benji Fisher
        ... I have been using this for a while but only recently noticed (after all, I am a typical vim user and rarely use the menus, even my own ;) that this only
        Message 3 of 16 , Jan 11, 2002
        • 0 Attachment
          On Sunday, December 9, 2001, at 04:44 PM, raindog@... wrote:

          > [snip]
          > They didn't, and here's a patch that enables the display
          > (right-justified,
          > with clover symbol) of command-key equivalents in Vim menus. It does
          > this
          > by looking for a command-key-like keycode in the accelerator text of a
          > menu item. Examples include "<D-t>", "<D-C-8>", "<C-p>", and "<S-]>";
          > these could be set with :amenu commands along the lines of the
          > following:
          >
          > :amenu MyMenu.MyCmd<Tab><D-t> <D-t>
          > :amenu MyMenu.MyCmd<Tab><D-C-8> <D-C-8>
          > :amenu MyMenu.MyCmd<Tab><C-p> :ls<CR>
          > :amenu MyMenu.MyCmd<Tab><S-]> :qa<CR>
          >
          > A few remarks:
          >
          > [snip]

          I have been using this for a while but only recently noticed (after
          all, I am a typical vim user and rarely use the menus, even my own ;)
          that this only works with modified keys. Is there any way to get '\t'
          (my keyboard shortcut for running tex) right-justified in the menu?

          :menu TeX.run\ tex<Tab>\t \t
          :map \t :call TeX()<CR>

          The menu command and the key mapping both work, but I do not see '\t' in
          the menu.

          --Benji Fisher

          P.S. Does anyone need any of the latest 30 patches applied to Vim.app ?
        • raindog@mediaone.net
          ... Not without a good deal of effort, I m afraid. Carbon menu routines support only single-key equivalents with optional modifiers. To display arbitrary
          Message 4 of 16 , Jan 11, 2002
          • 0 Attachment
            On Friday, January 11, 2002, at 11:20 AM, Benji Fisher wrote:

            > :menu TeX.run\ tex<Tab>\t \t
            > :map \t :call TeX()<CR>
            >
            > Is there any way to get '\t' (my keyboard shortcut for running
            > tex) right-justified in the menu?

            Not without a good deal of effort, I'm afraid. Carbon menu routines
            support only single-key equivalents with optional modifiers. To display
            arbitrary text, one would have to implement a custom menu (known as an
            "MDEF")--not an easy task thanks to I18N considerations. (It's a
            different
            story in Cocoa, incidentally, where it looks to be a relatively
            simple matter
            of overriding a couple of NSMenuItemCell methods.)

            > The menu command and the key mapping both work, but I do not see
            > '\t' in
            > the menu.

            Out of curiosity, does ":menu TeX.run\ tex<Tab><D-t> :call TeX()<CR>"
            work for you (i.e., does it allow you to type Cmd-t to run TeX)?
            Since I applied Dany St-Amant's patch (correctly this time, I think),
            command-key equivalents such as this don't work for me, unless at least
            one other modifier key is involved. This one has me stumped.

            RD
          • Benji Fisher
            ... That s too bad. How about a workaround, so that we can use the same menu files in Mac OS X as in other OS s? A couple of spaces between the run TeX and
            Message 5 of 16 , Jan 12, 2002
            • 0 Attachment
              raindog@... wrote:
              >
              > On Friday, January 11, 2002, at 11:20 AM, Benji Fisher wrote:
              >
              > > :menu TeX.run\ tex<Tab>\t \t
              > > :map \t :call TeX()<CR>
              > >
              > > Is there any way to get '\t' (my keyboard shortcut for running
              > > tex) right-justified in the menu?
              >
              > Not without a good deal of effort, I'm afraid. Carbon menu routines
              > support only single-key equivalents with optional modifiers. To display
              > arbitrary text, one would have to implement a custom menu (known as an
              > "MDEF")--not an easy task thanks to I18N considerations. (It's a
              > different
              > story in Cocoa, incidentally, where it looks to be a relatively
              > simple matter
              > of overriding a couple of NSMenuItemCell methods.)

              That's too bad. How about a workaround, so that we can use the same menu
              files in Mac OS X as in other OS's? A couple of spaces between the "run TeX"
              and the "\t" would be good enough. A little extra work might get some
              approximation to right-justified.

              > > The menu command and the key mapping both work, but I do not see
              > > '\t' in
              > > the menu.
              >
              > Out of curiosity, does ":menu TeX.run\ tex<Tab><D-t> :call TeX()<CR>"
              > work for you (i.e., does it allow you to type Cmd-t to run TeX)?
              > Since I applied Dany St-Amant's patch (correctly this time, I think),
              > command-key equivalents such as this don't work for me, unless at least
              > one other modifier key is involved. This one has me stumped.

              I cannot test it right now, but I think that <D-s> and <D-S> (or maybe
              <D-S-s>) are working properly for File.Save and File.Save\ As. The latter
              brings up a browser window, which still does not work. :-( Maybe someone else
              is using the binary I posted, with the Mac-customized File menu, and can test
              it now.

              --Benji Fisher
            • Benji Fisher
              ... I think I see the problem now. Adding to the :menu command does not do anything besides add (right justified) text to the menu item. You
              Message 6 of 16 , Jan 14, 2002
              • 0 Attachment
                On Saturday, January 12, 2002, at 12:19 PM, Benji Fisher wrote:

                > raindog@... wrote:
                >>
                >> On Friday, January 11, 2002, at 11:20 AM, Benji Fisher wrote:
                >>> [snip]
                >> Out of curiosity, does ":menu TeX.run\ tex<Tab><D-t> :call TeX()<CR>"
                >> work for you (i.e., does it allow you to type Cmd-t to run TeX)?
                >> Since I applied Dany St-Amant's patch (correctly this time, I think),
                >> command-key equivalents such as this don't work for me, unless at least
                >> one other modifier key is involved. This one has me stumped.

                I think I see the problem now. Adding "<Tab><D-t>" to the :menu
                command does not do anything besides add (right justified) text to the
                menu item. You need a :map command as well. From my gvimrc file:

                aunmenu &File.&New
                amenu 10.325 &File.&New<Tab><D-n> <D-n>
                nmap <D-n> :confirm enew<CR>

                and there are also :[vico]map lines. I just tested it: Cmd-n seems to
                work. (I think I tested all of the menu commands when I wrote the
                gvimrc file a couple of months ago.)

                I think the binary on my i-disk did not include the patch for
                showing menu equivalents. I have just posted a version that includes
                this patch, along with the official ones through 131.

                --Benji Fisher
              • raindog@mediaone.net
                ... It s supposed to do more, actually: gui_mac_doKeyEvent() dispatches each keystroke to the Menu Manager, which responds with the ID of a menu if the key is
                Message 7 of 16 , Jan 14, 2002
                • 0 Attachment
                  On Saturday, January 12, 2002, at 12:19 PM, Benji Fisher wrote:
                  >
                  > raindog@... wrote:
                  >>
                  >> Out of curiosity, does ":menu TeX.run\ tex<Tab><D-t> :call TeX()<CR>"
                  >> work for you (i.e., does it allow you to type Cmd-t to run TeX)?
                  >> Since I applied Dany St-Amant's patch (correctly this time, I think),
                  >> command-key equivalents such as this don't work for me, unless at
                  >> least
                  >> one other modifier key is involved. This one has me stumped.
                  >
                  > I think I see the problem now. Adding "<Tab><D-t>" to the
                  > :menu command does not do anything besides add (right justified)
                  > text to the menu item. You need a :map command as well.

                  It's supposed to do more, actually: gui_mac_doKeyEvent() dispatches each
                  keystroke to the Menu Manager, which responds with the ID of a menu
                  if the
                  key is a registered equivalent for one of that menu's items. In
                  that case,
                  the command associated with the item is executed.

                  This works in some cases:

                  :menu File.Test<Tab><D-S-t> :echo "Test"<CR>

                  causes Cmd-Shift-t to print "Test", but

                  :menu File.Test<Tab><D-t> :echo "Test"<CR>

                  doesn't have the same effect for Cmd-t.

                  RD
                • Benji Fisher
                  ... I would rather not have the menu code define key mappings. Vim scripts written for use on OS X should work the same on other OS s, and vice versa. Of
                  Message 8 of 16 , Jan 15, 2002
                  • 0 Attachment
                    raindog@... wrote:
                    >
                    > On Saturday, January 12, 2002, at 12:19 PM, Benji Fisher wrote:
                    > >
                    > > raindog@... wrote:
                    > >>
                    > >> Out of curiosity, does ":menu TeX.run\ tex<Tab><D-t> :call TeX()<CR>"
                    > >> work for you (i.e., does it allow you to type Cmd-t to run TeX)?
                    > >> Since I applied Dany St-Amant's patch (correctly this time, I think),
                    > >> command-key equivalents such as this don't work for me, unless at
                    > >> least
                    > >> one other modifier key is involved. This one has me stumped.
                    > >
                    > > I think I see the problem now. Adding "<Tab><D-t>" to the
                    > > :menu command does not do anything besides add (right justified)
                    > > text to the menu item. You need a :map command as well.
                    >
                    > It's supposed to do more, actually: gui_mac_doKeyEvent() dispatches each
                    > keystroke to the Menu Manager, which responds with the ID of a menu
                    > if the
                    > key is a registered equivalent for one of that menu's items. In
                    > that case,
                    > the command associated with the item is executed.
                    >
                    > This works in some cases:
                    >
                    > :menu File.Test<Tab><D-S-t> :echo "Test"<CR>
                    >
                    > causes Cmd-Shift-t to print "Test", but
                    >
                    > :menu File.Test<Tab><D-t> :echo "Test"<CR>
                    >
                    > doesn't have the same effect for Cmd-t.

                    I would rather not have the menu code define key mappings. Vim scripts
                    written for use on OS X should work the same on other OS's, and vice versa.
                    Of course, there is the difference that <D-> is not available on other
                    systems, but this difference is visible to the person writing the menu in the
                    vim script.

                    --Benji Fisher
                  Your message has been successfully submitted and would be delivered to recipients shortly.