GithubHelp home page GithubHelp logo

jupyterlab-statusbar's Introduction

JupyterLab Status Bar

This extension creates a generic statusbar to showcase the various states of JupyterLab. Different components will render depending on the active context: notebook, console, file editor, and terminal. This extension can be used by other extensions to add custom elements into the statusbar.

Changing Contexts Context Changes

Component Interactions Component Previews

Dependencies

  • JupyterLab

Optional Dependencies

pip install nbresuse
jupyter serverextension enable --py nbresuse

Installation

jupyter labextension install @jupyterlab/statusbar

Development

For a development install (requires npm version 4 or later), do the following in the repository directory:

npm install
npm run build
jupyter labextension link .

To rebuild the package and the JupyterLab app:

npm run build
jupyter lab build

jupyterlab-statusbar's People

Contributors

declanvk avatar ellisonbg avatar jasongrout avatar richagadgil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jupyterlab-statusbar's Issues

Memory item name change

Currently, the memory item is represented as a solely as a number in the units of MB or GB. There should be the text "Mem: " before the number to signify to the user that this is the total memory usage of the process.

screen shot 2018-08-28 at 4 29 26 pm

Merge into core

We should merge this extension into core so that we can easier add things to it when we add new features to core. See jupyterlab/jupyterlab#5352 for the issue there.

@ian-r-rose I see you have been assigned to that issue. Is there anything you want from the developers here to get this started?

Feature Request - Workspaces

Hi there.
Thanks for the great job with this extension.
I've been using Jupyter Lab Workspaces to manage/switch between projects and it works perfectly. However, there is no visual nor fast way to see/switch/rename/delete/clone workspaces.

I would like to humbly suggest a "workspace management" feature to the status bar, as it is very handy and is always on the screen.

Thanks

File Upload Errors

The File Upload Bar is unable to recognize when a file upload has errored -- although Jupyterlab PR #5077 prevented erroring files from remaining in the file upload array, there is no signal to notify when a file has been removed from the array or failed. A new PR should be created to address this.

Design thoughts

@richagadgil asked for my thoughts about the status bar. Here are some:

  • We have one status bar at the bottom of JupyterLab, which changes depending on the active document.
  • We be able to change some settings from the toolbar. For example, a common thing is to have the line/column number in the status bar. Clicking on it can pop up a Goto line dialog.
  • Look at status bars in different applications, particularly code editors. For example, here is my status bar in VS Code:

screen shot 2018-06-19 at 8 29 26 am

* Have an API for extensions to add their own content to the status bar. I can imagine that particularly the current document would want to add content to the status bar. I think perhaps VS Code or Atom may have apis to add things to the status bars?

Notes

Hi all, got a chance to play around a bit with the status bar. Looking good! A few design/behavior thoughts that I had:

  • Not all of the statusbar items are clickable, but all of them seem to have some hover styling. Maybe only the ones that are clickable should highlight on hovering.
  • Is the kernel symbol a corn kernel? That's clever, but I did find it a bit confusing, since that symbol isn't really used elsewhere.
  • The "tab spaces" indicator didn't update when I changed the settings in the settings menu. It should probably listen to the settings.changed signal for the CodeEditor settings.
  • I thought difference in border width between the left area and the main area looked a little strange:
    image Not sure how to fix it though.
  • The active document item is nice. I think it could also be extended to other widgets like the launcher or settings editor.
  • The "go to line" dialog is also nice. It should check that the input is a number, though. I was able to produce errors by entering characters.

Nice work!

ENH: Add a clock to the status bar

When I am in JupyterLab full screen mode I lose track of time very often. I always can see the status bar though! Would it be possible to add a clock to the status bar?

kernel name capitalization

This is a minor issue. It appears that the status bar is changing the letter case in the kernel name.

Here is an example--my kernel name is "omnipotent (Python 3.6)". The status bar shows "Omnipotent (python 3.6)".

statusbar

Notice,

  • the "O" in "omnipotent" is changed to an upper case letter and
  • the "P" in "Python" is changed to a lower case.

Tab Spacing hover

If you switch tab spacing within the status bar, the hover indicator will stay on the item after the interaction. It should go away after the user changes tab spacing.

screen shot 2018-08-28 at 4 32 18 pm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.