This adds an indicator to the status bar that shows the hub name. When
clicked, a popover will be displayed that lists more detailed information
about the connected hub.
This setting will be used to customize the hub name when flashing
firmware. This commit just implements the setting.
Some changes needed to be made to the existing settings infrastructure
since previously it only allowed boolean settings.
This makes it big enough to fit the compiler error message
IndentationError: unindent doesn't match any outer indent level
If we still have problems with overflow we should probably look at
ways to wrap <pre> text instead of making this wider.
Since the img is in a span, it was treated as text and added 4 pixels
on the bottom for the descender height.
By using `display: block;` it won't be treated as text.
Fixes pybricks/pybricks-code#268
clicking on a link with a URI fragment (e.g. https://docs.pybricks.com/en/latest/parameters.html#pybricks.parameters.Port)
inside the documentation iframe breaks the layout.
The browser seems to force the parent frame to scroll to the position as well.
As the toolbar is fixed, the rest of the content is scrolled under it.
Rerendering after the link click fixes the layout (at least if done manually).
But a more elegant solutions is to remove the absolute positioning of the toolbar.
It is not really necessary to pin it, as the rest of the layout always
spans over the complete width and height of the browser window.
Do not use a fixed height for the editor, but responsively scale to the remaining available height.
Also fill horizontally for a responsive layout. This gives us room to add left or right columns with docs or settings.