rise icon indicating copy to clipboard operation
rise copied to clipboard

Keyboard shortcut conflict for Escape

Open nthiery opened this issue 2 years ago • 3 comments

Description

When both in full-screen mode and edit mode, hitting esc is ambiguous: exit the full-screen or switch to command mode.

Reproduce

  1. Follow jupyterlab-rise's binder link
  2. Slides switches automatcailly to full-screen mode
  3. Press Enter or double clic on a cell to enter edit mode
  4. Hit Escape
  5. The slideshow exits full-screen mode

Expected behavior

Switch to command-mode

Discussion

The rationale is that Escape is used extensively when editing notebooks, and thus hardcoded in the users's fingers, whereas escaping full screen mode is done just now and then. One could still escape full screen mode by typing Escape a second time.

However this could be a standard shortcut of browsers; in that case it's annoying to break a convention. It could even be that browsers would not allow to change this shortcut.

Context

Python package version: jupyterlab-rise 0.1.1

Extension version:
jovyan@jupyter-jupyterlab-2dcontrib-2drise-2d3i1fpld4:~$ jupyter labextension list
JupyterLab v3.6.1
/srv/conda/envs/notebook/share/jupyter/labextensions
        jupyter-offlinenotebook v0.2.2 enabled OK
        jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
        jupyterlab-rise v0.1.0 enabled OK (python, jupyterlab_rise)
        @jupyter-widgets/jupyterlab-manager v5.0.5 enabled OK (python, jupyterlab_widgets)
        @jupyter-server/resource-usage v0.7.0 enabled OK (python, jupyter-resource-usage)

jovyan@jupyter-jupyterlab-2dcontrib-2drise-2d3i1fpld4:~$ jupyter server extension list Config dir: /home/jovyan/.jupyter

Config dir: /srv/conda/envs/notebook/etc/jupyter jupyter_resource_usage enabled - Validating jupyter_resource_usage... jupyter_resource_usage 0.7.0 OK jupyter_server_fileid enabled - Validating jupyter_server_fileid... jupyter_server_fileid 0.6.0 OK jupyter_server_ydoc enabled - Validating jupyter_server_ydoc... jupyter_server_ydoc 0.6.1 OK jupyterlab enabled - Validating jupyterlab... jupyterlab 3.6.1 OK jupyterlab_rise enabled - Validating jupyterlab_rise... jupyterlab_rise 0.1.1 OK nbclassic enabled - Validating nbclassic... nbclassic 0.5.1 OK notebook_shim enabled - Validating notebook_shim... notebook_shim OK jupyter_offlinenotebook enabled - Validating jupyter_offlinenotebook... jupyter_offlinenotebook OK

Config dir: /usr/local/etc/jupyter

  • Operating System and its version: Ubuntu 22.04
  • Browser and its version: Firefox 110 64 bits
Command Line Output
N/A
Web Browser Output

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/113.dd66397047ecb9a605cf.js?v=dd66397047ecb9a605cf
[HTTP/2 304 Not Modified 111ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/150.b0e841b75317744a7595.js?v=b0e841b75317744a7595 [HTTP/2 304 Not Modified 109ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/699.563670613eea7b633a22.js?v=563670613eea7b633a22 [HTTP/2 304 Not Modified 111ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/134.40eaa5b8e976096d50b2.js?v=40eaa5b8e976096d50b2 [HTTP/2 304 Not Modified 155ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/extensions/@jupyter-server/resource-usage/static/135.7cb9ac4aa0ab3f972930.js?v=7cb9ac4aa0ab3f972930 [HTTP/2 304 Not Modified 155ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/extensions/@jupyter-server/resource-usage/static/643.bb8b6dae69fd08b5d52f.js?v=bb8b6dae69fd08b5d52f [HTTP/2 304 Not Modified 151ms]

Error in parsing value for ‘content’. Declaration dropped. README.ipynb:1:174 Ruleset ignored due to bad selector. README.ipynb:1:1318 Error in parsing value for ‘display’. Declaration dropped. README.ipynb:1:2750 Unknown property ‘-moz-osx-font-smoothing’. Declaration dropped. README.ipynb:11:27 Unknown property ‘-moz-box-shadow’. Declaration dropped. README.ipynb:504:19 Activating jupyter-offlinenotebook JupyterLab extension 143.3a0a7be92ffa9c15c416.js:1:882 XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernelspecs?1676568670126 [HTTP/2 200 OK 111ms]

Plugin '@jupyter-server/resource-usage:memory-status-item' failed to activate. index.es6.js:2288:24 Error: No provider for: @jupyterlab/statusbar:IStatusBar. d index.es6.js:2191 u index.es6.js:52 u index.es6.js:33 u index.es6.js:26 u index.es6.js:22 resolveRequiredService index.es6.js:2184 n index.es6.js:2081 d index.es6.js:2081 u index.es6.js:52 u index.es6.js:33 u index.es6.js:26 u index.es6.js:22 activatePlugin index.es6.js:2065 r index.es6.js:2287 start index.es6.js:2286 60880 index.js:248 60880 index.js:251 Webpack 5 index.es6.js:2289:24 XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings?1676568670139 [HTTP/2 200 OK 258ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/offlinenotebook/config [HTTP/2 304 Not Modified 256ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernels?1676568670148 [HTTP/2 200 OK 169ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/sessions?1676568670149 [HTTP/2 200 OK 169ms]

Certains cookies utilisent incorrectement l’attribut recommandé « SameSite » 37 XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernelspecs?1676568670266 [HTTP/2 200 OK 119ms]

offline-notebook repoid: https://github.com/jupyterlab-contrib/rise 143.3a0a7be92ffa9c15c416.js:1:1057 offline-notebook repoLabel: GitHub 143.3a0a7be92ffa9c15c416.js:1:1189 offline-notebook binderRefUrl: https://github.com/jupyterlab-contrib/rise/tree/ad010e6b7fde6eb1584b13a15ae647107cc016bb 143.3a0a7be92ffa9c15c416.js:1:1254 offline-notebook binderPersistentUrl: https://mybinder.org/v2/gh/jupyterlab-contrib/rise/ad010e6b7fde6eb1584b13a15ae647107cc016bb 143.3a0a7be92ffa9c15c416.js:1:1329 XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples?content=1&1676568671060 [HTTP/2 200 OK 124ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/translations/default?1676568671545 [HTTP/2 200 OK 182ms]

Language pack 'en_US' not installed! 7819.bundle.js:1:5795 JupyterLab extension jupyterlab-rise is activated! 112.489c482bbad3766cb6f2.js:1:4453 XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/shortcuts-extension:shortcuts?1676568671847 [HTTP/2 200 OK 365ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/docmanager-extension:plugin?1676568671849 [HTTP/2 200 OK 477ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/notebook-extension:panel?1676568671850 [HTTP/2 200 OK 362ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings?1676568672282 [HTTP/2 200 OK 353ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples/README.ipynb?type=notebook&content=1&1676568672317 [HTTP/2 200 OK 263ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/application-extension:context-menu?1676568672347 [HTTP/2 200 OK 266ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/shortcuts-extension:shortcuts?1676568672386 [HTTP/2 200 OK 252ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/mainmenu-extension:plugin?1676568672661 [HTTP/2 200 OK 121ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/htmlviewer-extension:plugin?1676568672663 [HTTP/2 200 OK 140ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/fileeditor-extension:plugin?1676568672667 [HTTP/2 200 OK 146ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/filebrowser-extension:widget?1676568672668 [HTTP/2 200 OK 118ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/csvviewer-extension:tsv?1676568672670 [HTTP/2 200 OK 545ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/csvviewer-extension:csv?1676568672672 [HTTP/2 200 OK 546ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/settings/@jupyterlab/cell-toolbar-extension:plugin?1676568672675 [HTTP/2 200 OK 541ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1?1676568672687 [HTTP/2 200 OK 545ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/rise/examples/static/components/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full,Safe&delayStartupUntil=configured [HTTP/2 200 OK 470ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/rise/examples/slide-toolbar.png GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/rise/examples/toolbar-options.png XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples/README.ipynb/checkpoints?1676568673195 [HTTP/2 200 OK 158ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples/README.ipynb/checkpoints?1676568673198 [HTTP/2 200 OK 159ms]

Convert notebook /examples/README.ipynb to slideshow. rise.js:88:28 Loading failed for the

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples/README.ipynb/checkpoints?1676568673331 [HTTP/2 200 OK 116ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/files/examples/slide-toolbar.png?_xsrf=2|4f4193ed|b454bb2275705657dfee494a88aa2d7e|1676562810&1676568673337 [HTTP/2 200 OK 176ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/files/examples/toolbar-options.png?_xsrf=2|4f4193ed|b454bb2275705657dfee494a88aa2d7e|1676562810&1676568673338 [HTTP/2 200 OK 280ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/9834b82ad26e2a37583d22676a12dd2eb0fe7c80356a2114d0db1aa8b3899537.woff2 [HTTP/2 200 OK 374ms]

GEThttps://fonts.googleapis.com/css?family=News+Cycle:400,700 [HTTP/2 200 OK 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/files/examples/rise.css [HTTP/2 200 OK 156ms]

GEThttps://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic [HTTP/2 200 OK 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/files/examples/README.css [HTTP/2 200 OK 145ms]

This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. README.ipynb GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/6097.bundle.js [HTTP/2 200 OK 176ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/sessions?1676568673665 [HTTP/2 200 OK 112ms]

GEThttps://fonts.gstatic.com/s/lato/v23/S6u8w4BMUTPHjxsAXC-q.woff2 [HTTP/2 200 OK 0ms]

Starting WebSocket: wss://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernels/86fbd829-af64-4148-a2ed-af5d0621a561 3676.bundle.js:1:17619 GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/2148.bundle.js [HTTP/2 200 OK 140ms]

GETwss://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernels/86fbd829-af64-4148-a2ed-af5d0621a561/channels?session_id=48945491-54de-473e-8700-b77e80c35306 [HTTP/1.1 101 Switching Protocols 1269ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernelspecs?1676568674104 [HTTP/2 200 OK 112ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1/kernel_usage/get_usage/86fbd829-af64-4148-a2ed-af5d0621a561?1676568674107 [HTTP/2 200 OK 131ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/3496.bundle.js [HTTP/2 200 OK 1006ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/favicons/favicon.ico [HTTP/2 301 Moved Permanently 0ms]

Settings failed to load for (@jupyterlab/mainmenu-extension:plugin) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/mainmenu-extension:plugin) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 Settings failed to load for (@jupyterlab/htmlviewer-extension:plugin) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/htmlviewer-extension:plugin) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 Settings failed to load for (@jupyterlab/fileeditor-extension:plugin) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/fileeditor-extension:plugin) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 Settings failed to load for (@jupyterlab/filebrowser-extension:widget) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/filebrowser-extension:widget) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 Settings failed to load for (@jupyterlab/cell-toolbar-extension:plugin) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/cell-toolbar-extension:plugin) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 Settings failed to load for (@jupyterlab/csvviewer-extension:tsv) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/csvviewer-extension:tsv) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 Settings failed to load for (@jupyterlab/csvviewer-extension:csv) Array [ {…} ] 4030.bundle.js:1:3245 This may happen if {autoStart: false} in (@jupyterlab/csvviewer-extension:csv) or if it is one of the deferredExtensions in page config. settingsplugin.js:36:32 GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/base/images/favicon.ico [HTTP/2 200 OK 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/4987.bundle.js [HTTP/2 200 OK 122ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/img/sponge.png [HTTP/2 404 Not Found 136ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/img/boardmarker-black.png [HTTP/2 404 Not Found 140ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/img/chalk-white.png [HTTP/2 404 Not Found 202ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/rise/img/blackboard.png [HTTP/2 404 Not Found 220ms]

GEThttps://fonts.gstatic.com/s/lato/v23/S6uyw4BMUTPHjx4wXg.woff2 [HTTP/2 200 OK 0ms]

GEThttps://fonts.gstatic.com/s/newscycle/v22/CSR54z1Qlv-GDxkbKVQ_dFsvWNReuQ.woff2 [HTTP/3 200 OK 0ms]

Comm not found for comm id b754a419-0875-46ac-816c-5d8e70212052 jlab_core.3e11c5239452d671150c.js:2:1037513 Failed to fetch ipywidgets through the "jupyter.widget.control" comm channel, fallback to fetching individual model state. Reason: Control comm was closed too early 150.b0e841b75317744a7595.js:1:5783 GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/favicons/favicon.ico [HTTP/2 301 Moved Permanently 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/base/images/favicon.ico

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/favicons/favicon.ico [HTTP/2 301 Moved Permanently 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/base/images/favicon.ico [HTTP/2 200 OK 0ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples?content=1&1676568676322 [HTTP/2 200 OK 120ms]

XHRPUThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/lab/api/workspaces/auto-h?1676568676853 [HTTP/2 204 No Content 110ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/sessions?1676568677601 [HTTP/2 200 OK 114ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernels?1676568677657 [HTTP/2 200 OK 111ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/terminals?1676568677666 [HTTP/2 200 OK 112ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1?1676568678653 [HTTP/2 200 OK 114ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1/kernel_usage/get_usage/86fbd829-af64-4148-a2ed-af5d0621a561?1676568679460 [HTTP/2 200 OK 155ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/favicons/favicon.ico [HTTP/2 301 Moved Permanently 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/base/images/favicon.ico [HTTP/2 200 OK 0ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernels?1676568680703 [HTTP/2 200 OK 114ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1?1676568683840 [HTTP/2 200 OK 125ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/sessions?1676568684101 [HTTP/2 200 OK 114ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1/kernel_usage/get_usage/86fbd829-af64-4148-a2ed-af5d0621a561?1676568684670 [HTTP/2 200 OK 165ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/favicons/favicon.ico [HTTP/2 301 Moved Permanently 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/base/images/favicon.ico [HTTP/2 200 OK 0ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/contents/examples?content=1&1676568686692 [HTTP/2 200 OK 122ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/sessions?1676568687751 [HTTP/2 200 OK 113ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/kernels?1676568687793 [HTTP/2 200 OK 114ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/terminals?1676568687842 [HTTP/2 200 OK 112ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1?1676568689041 [HTTP/2 200 OK 113ms]

XHRGEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/api/metrics/v1/kernel_usage/get_usage/86fbd829-af64-4148-a2ed-af5d0621a561?1676568689985 [HTTP/2 200 OK 130ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/favicons/favicon.ico [HTTP/2 301 Moved Permanently 0ms]

GEThttps://hub.gke2.mybinder.org/user/jupyterlab-contrib-rise-0aks8dw2/static/base/images/favicon.ico [HTTP/2 200 OK 0ms]

nthiery avatar Feb 16 '23 17:02 nthiery

However this could be a standard shortcut of browsers; in that case it's annoying to break a convention. It could even be that browsers would not allow to change this shortcut.

It looks like a standard shortcut for browsers. I've been looking for a solution, and no one recommends intercepting the Escape key event to prevent the browser to exit the full screen. Nevertheless, it must be possible to implement because there are multiple web apps that do it, but I could not find the solution.

hbcarlos avatar Jul 27 '23 08:07 hbcarlos

We advice users to make use of the alternative shortcut Ctrl+M to exit edit mode.

fcollonval avatar Jul 27 '23 14:07 fcollonval

Thanks @hbcarlos and @fcollonval for investigating and for the workaround!

This remains rather annoying because Escape to exit edit mode is quite hard-wired in the fingers of notebook users, and discovering Ctrl-M is not obvious.

nthiery avatar Sep 01 '23 05:09 nthiery