fixes#7355
Also limit the number of query "jump", and use variables.
In particular there was a container width discontinuity at 768 pixel
where below 768 container width is 100% and "only" 720px on wider
screen, making a jump.
So now Css media query have 3 breakpoints:
- <540 px with (aka -no name-)
- colapsed menubar
- vbox for prompt
- 100% width container
- 540 -> 767 (aka -xs- )
- expand menubar
- hbox fro prompt
- 767 -> 991 (aka -sm-)
- show save widget
- fix width (768px)
- 991+ (aka -md-)
- extra save widget info (date time)
- fix with of 991 px.
- 1200+ (aka -lg-)
- widht of 1200px.
of course we've set soem variable wrongly so this is still kinda-a-hack
as we shoudl have pushed the xs-sm limit lower instead of pushing the
nothing-xs limit up but I don't want to "fix it" now.
- kernel_selector.set_kernel validates selection and triggers 'spec_changed.Kernel'. It does not start the session anymore.
- notebook calls kernel_selector.set_kernel when:
- kernelspec is in notebook metadata
- session is loaded (e.g. no kernelspec metadata)
- notebook starts session, loads metadata on spec_changed.kernel
The only case where starting the session is not triggered by spec_changed is on notebook load with no kernel metadata
closes#7409
Mostly a symptome of too many nested div that do different things.
don't try to both have an end space inside and outside the 'document'
area. And don't try to also get the things to be 100viewport height by
hacking around and make them smaller;
multiplex on a 'channel' key in message,
rather than separate websockets.
Unlike zmq, there aren't different message patterns that require the channels to be separate.
Reduces FD count by factor of 3 and connection complexity in js.
rather than in a dict, which doesn't work without reserializing *all* stored widget states (of all notebooks), since localStorage only supports storing strings.