I'm not sure what the right solution is, but this seems definitely on the wrong track. It just doesn't make sense to decouple a pane's top margin from Display_settings.y. That causes panes to slide relative to each other, which we want to avoid at all costs. We need a different approach.
OANSMSQYJARQ5ZCJ62CO3TL4EF7ZDJE6RUGGROWDTMTZRHBUGMGQC
7V2SYRET46ZV6DJR6EEVXBTDXKX5XVGM4TMSZ3XTOZ27VDKXDSIAC
TZYZ7FYYDJEDP7JO5Q7TIE546G4BUIF2PRWPV46EZMXQ4STVJDTAC
J3ER7DFO2TXYUMJAXZUFEHQNLFDNIXSYDTE7HEFGQ2RYB3A6RFPAC
OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC
MO4B3HJQL7KU2CETG74EV367YPREQN3Z5DJP2MNHITVW2KQRXRCAC
BJ5X5O4ACBBJ56LRBBSTCW6IBQP4HAEOOOPNH3SKTA4F66YTOIDAC
5XQ4Y7NU63X2WW4ZR4P46LX5GEOTE7JH3AUMTDQW5VZ53GELNP2QC
* Perhaps keys should not go to cursor pane if it's off screen (or cursor is off screen in edit mode)? Then you only get global keys?
* lines.love assumes cursor can never be above screen top. Do we want to violate this constraint in pensieve? Or move the cursor to satisfy it as needed? Or forbid movements that would violate it?
* TODO: lines.love assumes cursor can never be above screen top. Do we want to violate this constraint in pensieve? Or move the cursor to satisfy it as needed? Or forbid movements that would violate it?
* Keypresses not sent to cursor pane if off screen
* Keypresses not sent to pane in edit mode if its cursor is off screen
* hit pagedown. All columns scroll down by same amount.
* hit pageup. All columns scroll up by same amount.
* move mouse off any panes, press down and drag around. All columns pan by same amount.
* select a pane, hit ctrl+x, hit pagedown. All columns scroll down by same amount.
* select a pane, hit ctrl+x, hit pageup. All columns scroll up by same amount.
* select a pane, hit ctrl+x, move mouse off any panes, press down and drag around. All columns pan by same amount.
* select a pane, hit ctrl+x, hit pagedown. Cursor remains visible.
* select a pane, hit ctrl+x, hit pageup. Cursor remains visible.
* select a pane, hit ctrl+x, hit pagedown, type some text. Surface does not pan.
* select a pane, hit ctrl+x, hit pagedown, move mouse off any panes, press down and drag around. All columns pan by same amount.
* select a pane, hit pagedown, hit ctrl+x. There should be some indication that the pane can be edited, and where, either on- or off-screen.