There should be an option (can be off for backwards compatibility) to not shift the content. The desired effect is that when a pane is added to the bottom it covers up the last ~line, and when a pane is added to the top it covers up the first ~line. All lines not covered up should stay where they were on the screen.
Should this be possible even when the editor's content is not currently causing a vertical scrollbar? If there's enough scrolling room, this is relatively easy to do -- just scroll the content up by the size of the panel. But that doesn't work when there's no scrollbar or not enough scrollable content below the editor bottom. Would requiring users to enable the scroll/scrollpastend addon to work around this be an acceptable solution?
[panel addon] Implement a 'stable' option
Attached patch implements this for cases where there's enough scroll room.
Playing with the demo, it appears that when multiple top panels get created, closing them causes visual scrolling (when there's only one panel things work fine). That seems like a bug. Otherwise, this solution works great.
[panel plugin] Make stable option also take effect when a panel is re…
Attached patch should make sure closing a stable panel also adjust the scroll position.