F11 keyboard shortcut triggers unregistered `application:toggle-fullscreen-mode` command on the `/tree` page
- Dominant language
- Jupyter Notebook
- Stars
- 13.3k
- Forks
- 5.8k
- Avg merge
- 6d 11h
- Merged PRs (30d)
- 7
Description
## Description
Pressing `F11` on the `/tree` page does not enter fullscreen mode. Instead, the browser console reports that the associated command is not registered.
Once a notebook (`.ipynb`) or another file is opened, pressing `F11` works as expected.
While investigating this issue, I found that the command `application:toggle-fullscreen-mode` is defined and registered in the JupyterLab repository, but I could not find an equivalent definition or registration in the Jupyter Notebook repository.
I'm reporting the observed behavior together with the investigation in case this is a regression or an integration issue.
---
## Reproduce
1. Clone the Jupyter Notebook repository.
2. Follow the development setup instructions in `CONTRIBUTING.md`.
3. Build and run Jupyter Notebook from the current `main` branch.
4. Open the `/tree` page (`http://localhost:8888/tree`).
5. Press `F11`.
### Actual Behavior
Nothing happens.
The browser console reports:
```text
Cannot execute key binding 'F11':
command 'application:toggle-fullscreen-mode'
is not registered.
```
### Additional Observation
- Opening a notebook (`.ipynb`) or another file and pressing `F11` works as expected.
- The issue appears to be specific to the `/tree` page.
- Screenshots of both the `/tree` page (where the issue occurs) and the notebook view (where `F11` works as expected) are attached below.
---
## Investigation
During the investigation, I observed the following:
- The browser console consistently reports:
```text
Cannot execute key binding 'F11':
command 'application:toggle-fullscreen-mode'
is not registered.
```
- Searching the Jupyter Notebook repository did not find a definition or registration for `application:toggle-fullscreen-mode`.
- The JupyterLab repository defines and registers `application:toggle-fullscreen-mode`.
- I searched the Notebook repository history using:
```bash
git log -S "application:toggle-fullscreen-mode" --all
```
but did not find any previous definition of this command.
Based on this investigation, it appears that the `/tree` page attempts to invoke `application:toggle-fullscreen-mode`, but that command does not appear to be registered there.
---
## Expected behavior
Pressing `F11` on the `/tree` page should either:
- execute the configured fullscreen action, or
- not reference an unregistered command.
Its behavior should be consistent with the notebook view.
---
## Context
- Operating System: Windows 11
- Browser: Google Chrome
- Python: 3.14.0
- Jupyter Notebook version: 7.7.0a0 (built from the current `main` branch)
---
Troubleshoot Output
```text
sys.executable:
V:\OpenSource\notebook\.venv\Scripts\python.exe
sys.version:
3.14.0
platform.platform():
Windows-11-10.0.26200-SP0
where jupyter:
V:\OpenSource\notebook\.venv\Scripts\jupyter.exe
C:\Users\Asus\AppData\Local\Programs\Python\Python314\Scripts\jupyter.exe
Notebook version:
7.7.0a0 (editable installation from local source)
(The complete `jupyter troubleshoot` output can be provided if needed.)
```
---
Command Line Output
```text
[I ...] notebook | extension was successfully linked.
[I ...] notebook | extension was successfully loaded.
[I ...] Serving notebooks from local directory:
V:\OpenSource\notebook
http://localhost:8888/tree
```
---
Browser Output
```text
Cannot execute key binding 'F11':
command 'application:toggle-fullscreen-mode'
is not registered.
```
---
Contributor guide
Research direction
Start at the /tree page's keyboard shortcut setup and compare it with the notebook view and JupyterLab's registration of application:toggle-fullscreen-mode. Confirm the fix by reproducing F11 on /tree and verifying the console no longer reports an unregistered command, while fullscreen behavior is consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100