IMO all programs with keyboard shortcuts should display them in menus or on hover tooltips. At least have this as a toggleable help option.
Right now the only way to see the keyboard shortcuts is to open a modal dialog on top of your notebook. If you _really_ don't want to display keyboard shortcuts in the UI, then at least open this in a separate window or allow the window to float rather than block all other actions on the page.
IMO all programs with keyboard shortcuts should display them in menus or on hover tooltips
I agree, the notebook should display keymaps inline in the menus. Most of our development bandwidth is focused on JupyterLab now so we don't have much bandwidth to add new features to the classic notebook. I'm going to mark this with "JupyterLab" and "New Contributor" meaning that this should be implemented in JupyterLab and that this would be a great opportunity for a new contributor.
@cogwheel If you would like to take a crack at this, I will gladly help and review your PR.
I appreciate the support for the suggestion. I would probably describe my current interest in Jupyter as exceedingly cursory to begin with (I have no planned use, just toying around), and that's with the Haskell kernel, not even Python. If Jupyter becomes a bigger part of my life before someone else gets to it, then we'll see :)
@gnestor the notebook.html template is easy enough to navigate. I can easily update each menu item with their corresponding keyboard shortcut, but this doesn't seem very intelligent!
I've discovered the Keyboard Shortcut dialog is generated. Perhaps I could utilise some of these utilities to dynamically populate the menu drop downs with platform specific keyboard that are exactly the same as those shown in the shortcut dialog:
![]()
Any advice regarding how to achieve this, or whether it is even a sensible approach, welcome!
Ok a fair degree of progress:





To achieve this I have extended the MenuBar object to also add the keybinding when it loops over the id_actions_dict.
It's ugly, and I'm pretty sure incomplete, but I'll be glad for early feedback.
@aaronmyatt Looking good! Great start. Would you like to submit a PR so that we can collaborate on it?
@gnestor I would be glad to make a PR! I didn't think you would want one so soon, usually I am the lone proponent of early PRs in my company!
I'll double check the contributor guidelines and get a PR up asap.
Early PRs are welcome 馃憤
can we add the ? shortcut, which opens up the keyboard shortcut menu. This is a fairly standard shortcut in gmail and github for example.
I think that would be good.
@morenoh149 @takluyver agreed. I'll add that in once I'm done banging my head on the blocker in the current PR (#2968)
Hello!
We are a group of undergrads from India who are looking to solve issues in open source repositories as a course project. Some of us(including me), being avid users of Jupyter Notebook suggested that we choose an issue in this repository.
Being new contributors we searched for issues labelled as "good first issue" and came across this issue and it really piqued our interest. We are third year CSE students with technical background in fields related to the tech stack of this repo.
We'd like to work on one of these issues at first and also, some advice regarding which issue to work on. We are really hyped to get this work done and will sincerely appreciate your guidance. Please tell us how to proceed and what we can do in this issue.
Hi @prof-lupin! I'm so glad that you chose to contribute to the Jupyter Notebook. I will respond to your question on the WIP PR: https://github.com/jupyter/notebook/pull/2968
Do you still need any help with this issue?
Hi @JohannaHillebrand! I believe that @prof-lupin and his group decided to work on another feature, so we still need help with this issue. Based on my recollection, the majority of the work is done but there are some build issues that are preventing us from merging the PR: #2968
Most helpful comment
@morenoh149 @takluyver agreed. I'll add that in once I'm done banging my head on the blocker in the current PR (#2968)