edit by @rsese to add more specific repro steps and expected behavior
- Open src/pane.js in atom/atom
- Scroll down so that the last line of the
findOrCreateBottommostSibling()function is the last visible line, line 1208.
- Click on line 1185
- Right-click and
code on the top and bottom halves of the screen are pretty much the same as before choosing Split Panes.
So line 1208 will still be the last visible line of the bottom pane.
But actual behavior is that the top most lines in both panes match (so line 1208 isn’t the last visible line in the bottom pane).
The actual current behavior is slightly worse than described, in that the bottom pane shifts so that the first visible line (1164) doesn’t even match what’s visible above (1164 is not visible in practice; only a few non-interpretable pixels of it are shown). This makes the split even more disorienting / harder to get reoriented.
Whatever fraction of line 1209 (the last visible line) is visible before the split, I expect to see the same fraction of the same line in the same place after.
- Put an X between the brackets on this line if you have done all of the following:
- Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
- Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
- Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
- Checked that your issue isn’t already filed: https://github.com/issues?utf8=✓&q=is%%3Aissue+user%%3Aatom
- Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages
When splitting the pane Down, the scroll bar for the new pane is set so that the new top matches the old top of the viewport, instead of the new bottom matching the old bottom.
Steps to Reproduce
Open a reasonably long code file, viewing it in a single pane top to bottom. The code contains many short, modular functions.
Recognize you would like to view two on the screen at the same time, that are not next to each other in the file.
Align the file so the bottom one is correct, planning to split the view and scroll the top to the reference point for reading while developing down below.
Right-click around the middle and choose Split Down.
There is a new pane division running horizontally across the center of the screen, and possibly obscuring a few lines of code in the middle, but code on the top and bottom halves of the screen are pretty much the same as before choosing Split Panes.
The bottom pane is scrolled so that the top is at the top of whatever line the upper pane started in. Whatever was previously shown on the bottom half of the screen is now scrolled out of view.
Reproduces how often:
Very reliably, even in safe mode.
Atom : 1.23.2
Chrome : 56.0.2924.87
Node : 7.4.0
Windows: 10 Pro