How do I keep Mac Emacs from trapping M-`?












5















I want to use the command key on my Mac as the meta key, so I customize ns-command-modifier. But I also want to still use ⌘-` to cycle through all the windows in Emacs - just like in all other Mac apps.



If I unbind ⌘-`, then I just get an error that there is no binding for that key. I want to somehow tell Emacs not to trap that key at all.



There must be a solution because ⌘-TAB works whether or not the key is set to be meta. But ⌘-` does not.










share|improve this question









New contributor




dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    5















    I want to use the command key on my Mac as the meta key, so I customize ns-command-modifier. But I also want to still use ⌘-` to cycle through all the windows in Emacs - just like in all other Mac apps.



    If I unbind ⌘-`, then I just get an error that there is no binding for that key. I want to somehow tell Emacs not to trap that key at all.



    There must be a solution because ⌘-TAB works whether or not the key is set to be meta. But ⌘-` does not.










    share|improve this question









    New contributor




    dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      5












      5








      5








      I want to use the command key on my Mac as the meta key, so I customize ns-command-modifier. But I also want to still use ⌘-` to cycle through all the windows in Emacs - just like in all other Mac apps.



      If I unbind ⌘-`, then I just get an error that there is no binding for that key. I want to somehow tell Emacs not to trap that key at all.



      There must be a solution because ⌘-TAB works whether or not the key is set to be meta. But ⌘-` does not.










      share|improve this question









      New contributor




      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I want to use the command key on my Mac as the meta key, so I customize ns-command-modifier. But I also want to still use ⌘-` to cycle through all the windows in Emacs - just like in all other Mac apps.



      If I unbind ⌘-`, then I just get an error that there is no binding for that key. I want to somehow tell Emacs not to trap that key at all.



      There must be a solution because ⌘-TAB works whether or not the key is set to be meta. But ⌘-` does not.







      key-bindings osx keymap






      share|improve this question









      New contributor




      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 2 days ago









      DoMiNeLa10

      1,9951623




      1,9951623






      New contributor




      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Apr 1 at 18:04









      dk.dk.

      1283




      1283




      New contributor




      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      dk. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          7














          What's going on here is that ⌘-⇥ is a low-level hotkey that can't be intercepted (a good thing, too, since it may be one of your only escape hatches if a full-screen game hangs, along with the force-quit ⌥-⌘-⎋ keystroke which is also immutable and uninterceptible).



          ⌘-`, on the other hand, is a command that macOS provides ordinary apps by default, but that can be reassigned or ignored completely. The way the Cocoa Emacs integration work is largely (though not entirely) by disabling Cocoa's free features (because they don't interact well with a lot of Emacs concepts) and then reintroducing the ones that made sense to the developers.



          In some Mac-specific Emacs distributions, this includes window-cycling via ⌘-`, but not in the stock version.



          The good news is that, having already set up your modifier keys as you like, you can now just bind a key in the normal Emacs way to the frame-cycling (Mac "windows" are Emacs "frames" while Emacs "windows" don't correspond to anything on the Mac exactly) command other-frame, ordinarily bound to C-x 5 o.



          So try M-x global-set-key RET ⌘-` other-frame RET. If that works, you can set up this keybind permanently in your init file(s), or whatever method you use (I don't presume to know since there are many takes on managing keybinds in Emacs, but if you don't know how, I can edit this to suggest one, just drop a comment).



          (Incidentally, I may have presumed when I took your use of "windows" to mean Mac windows/Emacs frames. If I did, and you want ⌘-` to really cycle the active point through Emacs windows, including within the same frame, then instead of other-frame, you want next-multiframe-window, which cycles between windows regardless of frame. Note its cycling behavior is... unusual, and perhaps a bit unintuitive, though it's the only consistent way for it to work.)






          share|improve this answer


























          • Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

            – dk.
            yesterday












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "583"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          dk. is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f48698%2fhow-do-i-keep-mac-emacs-from-trapping-m%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          7














          What's going on here is that ⌘-⇥ is a low-level hotkey that can't be intercepted (a good thing, too, since it may be one of your only escape hatches if a full-screen game hangs, along with the force-quit ⌥-⌘-⎋ keystroke which is also immutable and uninterceptible).



          ⌘-`, on the other hand, is a command that macOS provides ordinary apps by default, but that can be reassigned or ignored completely. The way the Cocoa Emacs integration work is largely (though not entirely) by disabling Cocoa's free features (because they don't interact well with a lot of Emacs concepts) and then reintroducing the ones that made sense to the developers.



          In some Mac-specific Emacs distributions, this includes window-cycling via ⌘-`, but not in the stock version.



          The good news is that, having already set up your modifier keys as you like, you can now just bind a key in the normal Emacs way to the frame-cycling (Mac "windows" are Emacs "frames" while Emacs "windows" don't correspond to anything on the Mac exactly) command other-frame, ordinarily bound to C-x 5 o.



          So try M-x global-set-key RET ⌘-` other-frame RET. If that works, you can set up this keybind permanently in your init file(s), or whatever method you use (I don't presume to know since there are many takes on managing keybinds in Emacs, but if you don't know how, I can edit this to suggest one, just drop a comment).



          (Incidentally, I may have presumed when I took your use of "windows" to mean Mac windows/Emacs frames. If I did, and you want ⌘-` to really cycle the active point through Emacs windows, including within the same frame, then instead of other-frame, you want next-multiframe-window, which cycles between windows regardless of frame. Note its cycling behavior is... unusual, and perhaps a bit unintuitive, though it's the only consistent way for it to work.)






          share|improve this answer


























          • Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

            – dk.
            yesterday
















          7














          What's going on here is that ⌘-⇥ is a low-level hotkey that can't be intercepted (a good thing, too, since it may be one of your only escape hatches if a full-screen game hangs, along with the force-quit ⌥-⌘-⎋ keystroke which is also immutable and uninterceptible).



          ⌘-`, on the other hand, is a command that macOS provides ordinary apps by default, but that can be reassigned or ignored completely. The way the Cocoa Emacs integration work is largely (though not entirely) by disabling Cocoa's free features (because they don't interact well with a lot of Emacs concepts) and then reintroducing the ones that made sense to the developers.



          In some Mac-specific Emacs distributions, this includes window-cycling via ⌘-`, but not in the stock version.



          The good news is that, having already set up your modifier keys as you like, you can now just bind a key in the normal Emacs way to the frame-cycling (Mac "windows" are Emacs "frames" while Emacs "windows" don't correspond to anything on the Mac exactly) command other-frame, ordinarily bound to C-x 5 o.



          So try M-x global-set-key RET ⌘-` other-frame RET. If that works, you can set up this keybind permanently in your init file(s), or whatever method you use (I don't presume to know since there are many takes on managing keybinds in Emacs, but if you don't know how, I can edit this to suggest one, just drop a comment).



          (Incidentally, I may have presumed when I took your use of "windows" to mean Mac windows/Emacs frames. If I did, and you want ⌘-` to really cycle the active point through Emacs windows, including within the same frame, then instead of other-frame, you want next-multiframe-window, which cycles between windows regardless of frame. Note its cycling behavior is... unusual, and perhaps a bit unintuitive, though it's the only consistent way for it to work.)






          share|improve this answer


























          • Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

            – dk.
            yesterday














          7












          7








          7







          What's going on here is that ⌘-⇥ is a low-level hotkey that can't be intercepted (a good thing, too, since it may be one of your only escape hatches if a full-screen game hangs, along with the force-quit ⌥-⌘-⎋ keystroke which is also immutable and uninterceptible).



          ⌘-`, on the other hand, is a command that macOS provides ordinary apps by default, but that can be reassigned or ignored completely. The way the Cocoa Emacs integration work is largely (though not entirely) by disabling Cocoa's free features (because they don't interact well with a lot of Emacs concepts) and then reintroducing the ones that made sense to the developers.



          In some Mac-specific Emacs distributions, this includes window-cycling via ⌘-`, but not in the stock version.



          The good news is that, having already set up your modifier keys as you like, you can now just bind a key in the normal Emacs way to the frame-cycling (Mac "windows" are Emacs "frames" while Emacs "windows" don't correspond to anything on the Mac exactly) command other-frame, ordinarily bound to C-x 5 o.



          So try M-x global-set-key RET ⌘-` other-frame RET. If that works, you can set up this keybind permanently in your init file(s), or whatever method you use (I don't presume to know since there are many takes on managing keybinds in Emacs, but if you don't know how, I can edit this to suggest one, just drop a comment).



          (Incidentally, I may have presumed when I took your use of "windows" to mean Mac windows/Emacs frames. If I did, and you want ⌘-` to really cycle the active point through Emacs windows, including within the same frame, then instead of other-frame, you want next-multiframe-window, which cycles between windows regardless of frame. Note its cycling behavior is... unusual, and perhaps a bit unintuitive, though it's the only consistent way for it to work.)






          share|improve this answer















          What's going on here is that ⌘-⇥ is a low-level hotkey that can't be intercepted (a good thing, too, since it may be one of your only escape hatches if a full-screen game hangs, along with the force-quit ⌥-⌘-⎋ keystroke which is also immutable and uninterceptible).



          ⌘-`, on the other hand, is a command that macOS provides ordinary apps by default, but that can be reassigned or ignored completely. The way the Cocoa Emacs integration work is largely (though not entirely) by disabling Cocoa's free features (because they don't interact well with a lot of Emacs concepts) and then reintroducing the ones that made sense to the developers.



          In some Mac-specific Emacs distributions, this includes window-cycling via ⌘-`, but not in the stock version.



          The good news is that, having already set up your modifier keys as you like, you can now just bind a key in the normal Emacs way to the frame-cycling (Mac "windows" are Emacs "frames" while Emacs "windows" don't correspond to anything on the Mac exactly) command other-frame, ordinarily bound to C-x 5 o.



          So try M-x global-set-key RET ⌘-` other-frame RET. If that works, you can set up this keybind permanently in your init file(s), or whatever method you use (I don't presume to know since there are many takes on managing keybinds in Emacs, but if you don't know how, I can edit this to suggest one, just drop a comment).



          (Incidentally, I may have presumed when I took your use of "windows" to mean Mac windows/Emacs frames. If I did, and you want ⌘-` to really cycle the active point through Emacs windows, including within the same frame, then instead of other-frame, you want next-multiframe-window, which cycles between windows regardless of frame. Note its cycling behavior is... unusual, and perhaps a bit unintuitive, though it's the only consistent way for it to work.)







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 days ago









          DoMiNeLa10

          1,9951623




          1,9951623










          answered Apr 1 at 19:02









          TreyTrey

          276110




          276110













          • Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

            – dk.
            yesterday



















          • Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

            – dk.
            yesterday

















          Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

          – dk.
          yesterday





          Perfect answer. I use C-x 5 all the time, but didn't think to bind Cmd-` to C-x 5 o.

          – dk.
          yesterday










          dk. is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          dk. is a new contributor. Be nice, and check out our Code of Conduct.













          dk. is a new contributor. Be nice, and check out our Code of Conduct.












          dk. is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Emacs Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f48698%2fhow-do-i-keep-mac-emacs-from-trapping-m%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How did Captain America manage to do this?

          迪纳利

          南乌拉尔铁路局