Command to switch between windows


There is currently no documented command to switch between windows. There is also apparently no API to work with multiple windows; the top-level Atom object represents only the current window, not the whole app.

Os X. cmd-` short does not work on some keybord layouts (azerty)

cmd-` will switch between windows, but there is not command for it and we currently don’t have an API for dealing with multiple windows. I’d be interested knowing what API calls you would like and what you want to use them for.


Cmd+` does not exist on European keyboards, where the shortcut has traditionally been cmd+< and cmd+>.

As long as the Window menu lacks “Next Window”, “Previous Window”, it’s not possible to remap using the keyboard shortcuts preference pane in System Preferences.

An API would let me implement window switching and map that to keyboard shortcuts, if it does not come out of the box.

But I also have in mind a project switcher package (one that autocompletes previously opened project names like cmd+P does), which would need to be able to switch windows as well as open new ones.


On my Danish keyboard cmd-` is just a longer key sequence, as you have to press shift-´ in order to get the thing you want.

cmd-shift-´ changes windows just fine for me.


Thanks for that info! I’ll create an issue for creating a command that adds some multiple window commands.


Wonderful, thanks.

@ohm, sure. But it only switches to the next window. There is no way to go backwards.


I would’ve said that this is an OS X issue, not an Atom feature, but that of course doesn’t exclude it. How do you handle multiple windows in other apps?


Window switching is built into OS X/Cocoa, which will automatically respond to the system-defined keyboard shortcut, which can be overridden in System Preferences. The setting is called “Move focus to next window”. There is no “Move focus to previous window”; shift+[whatever shortcut you set] will move focus to the previous window.

If an app doesn’t follow that system, then it must provide a menu item that can be overridden in the “App Shortcuts” list in the keyboard shortcuts prefs pane.


Speaking of the Cmd+` binding, it has stopped working for me, as of several days ago. My keymaps.cson is empty, and the key bindings in my OS X preferences have no reference to Cmd+`. Cmd+` is a standard OS X binding for switching between windows. Is this a known issue?


I managed to replicate your issue, not working for me.


seems like cmd+< only works when tree view is focused.

so ctrl+0 then cmd+< works for me (osx 10.9)


Any news on that one? Cmd+` is not working for me neither. Thanks!


Please, I want to resolve this issue to work 100% with Atom and not switch with Sublime Text.



Hi there, I have the same problem. On european keywords we do have the cmd+` shortcut available. I think this problem comes from chromium since when I am focused on a text input/area in a webpage in chrome (like this one here), the shortcut does not work and writes down “`” instead.


You are right. However this is not sufficient for me


Any update on the above ? I’d be happy to help. I am having the issue with a french azerty keyboard. I am wondering how to trigger system commands from atom. Please let me know what kind of investigation I can do.




Looks like cmd-< and cmd-> are working in the most recent release.


This still does not work on Mavericks + Danish keyboard (neither cmd-`nor cmd-) I’ve noticed that there’s no “switch to next window” menu option either? Which surprises me.


Using Atom Version 0.146.0 (0.146.0) on OSX 10.9.5 with an AZERTY french layout. I can’t switch windows as long as the main editor is focused

  • cmd-> / cmd-< does nothing
  • cmd-writes down a (backtick) caracter

The only way I found around this is to use ctrl-0 to move focus to treeview before doing cmd-`again but this is quite hard to use since on each new window I have to check if the focus is on the editor or on the treeview (ctr-0 while having the treeview focused will move the focus back to the editor).

I use the default mappings everywhere.


Finally I get it working using ctrl+cmd+< or >