ipython/ipython — pull request #1853 by mcelrath (2012-06-04 21:59:43+00:00)
Title: Fix jumpy notebook behavior

Menu: the menu items need a 1px border so that when one is added by jQuery, the
menu item doesn't shift by 1px. (ui-menu and ui-menu-item classes)

Cell focus: The jQuery class .ui-widget-content draws the border on the focused
cell, but the unfocused cell doesn't have a border, causing 1px jumping. The
solution is to add a border for it, but then this will have higher specificity
than the jQuery class. So I also added a redefinition of the focused cell
border with div.ui-widget-content, which has higher specificity. A selected
cell was additionally getting an outline from jQuery when :active. I also
disabled this by setting 'outline: none', to prevent flashing of the border when
a cell is clicked on.

Cell focus scrolling: The CodeMirror focus() call causes the window to scroll to
the CodeMirror input cell. I removed this call from CodeCell.prototype.select()
and RawCell.prototype.select(). Additionally, the CodeMirror refresh() call is
only required if the input cell changes and must be redrawn. This doesn't
happen on focus, it happens on edit, and refresh() is properly called in
TextCell.prototype.edit(), so isn't required in select(). I removed these
superfluous refresh() calls too.