You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the launcher cards, both in core JupyterLab and in extensions, mix up a number of concepts:
creating a new document (notebook/file)
opening a widget panel (contextual help)
opening a new transient session (terminal/console)
opening a session of external application (VSCode, RStudio in many jupyterhub deployments)
Because Launcher only includes three default categories ("Notebook", "Console", "Other"), extensions end up adding things all over the place. For example:
jupyter-server-proxy, an official extension from JupyterHub team adds VSCode and RStudio under "Notebook".
"contextual help" tile is added under "Other"
"console" and "terminal" are in separate places, although they conceptual represent the same thing
Currently there is no way for extensions nor core to add annotations about what type of an action an item will perform, so the core launcher - nor launcher extensions - cannot take advantage of this.
Add a new field to ILauncher.IItemOptions interface; make it optional for now for compatibility, but mark it as required in a future major release (say JupyterLab v6).
Annotating the action that will be performed when clicking on an item will also help with making better aria labels.
For example action?: 'new-session' | 'new-document' | 'launch-external-application' | 'open-widget' where
new-document: notebook, file, etc
new-session: terminal/console - transient things without associated file on disk (maybe new-transient-session)
Problem
Currently the launcher cards, both in core JupyterLab and in extensions, mix up a number of concepts:
Because Launcher only includes three default categories ("Notebook", "Console", "Other"), extensions end up adding things all over the place. For example:
Currently there is no way for extensions nor core to add annotations about what type of an action an item will perform, so the core launcher - nor launcher extensions - cannot take advantage of this.
Related to #3795
Proposed Solution
Add a new field to
ILauncher.IItemOptions
interface; make it optional for now for compatibility, but mark it as required in a future major release (say JupyterLab v6).Annotating the action that will be performed when clicking on an item will also help with making better aria labels.
For example
action?: 'new-session' | 'new-document' | 'launch-external-application' | 'open-widget'
wherenew-document
: notebook, file, etcnew-session
: terminal/console - transient things without associated file on disk (maybenew-transient-session
)launch-external-application
: VSCode, RStudio, Viola, etcopen-widget
: contextual help, LSP diagnostics panelAdditional context
While launcher items have
metadata
field:jupyterlab/packages/launcher/src/tokens.ts
Lines 86 to 145 in 2ceabd8
This is not typed nor useful here because what we need is consistency from anyone who adds items to launcher.
The text was updated successfully, but these errors were encountered: