It's been great to see the incremental improvements in TextMate over time. The recent 2.0.17 has a really nice fit and finish all-in and it's still by far my preferred "fully native" text editor - a first choice for development. Little things like the recently shuffled themes menu to support dark/light mode switching are always very welcome and have a surprisingly big "quality of life" impact.
Of course I've a niggle ;-) - I noticed in 2.0.6 (possibly earlier?) that when switching between tabs (currently macOS 11.2.1, but it's done it for a while) TextMate will sometimes shift the view scroll position after a fractional delay. It seems to be related to any lines that aren't of a fixed height; for example, comments in Ruby source code have always word-wrapped even if word wrap is disabled and if there are any of those in a piece of text above the caret position then there's a good chance of scroll position jumps when switching between tabs.
The issue is especially pronounced in larger Markdown docs when I usually edit with word wrap enabled - in that case, the jump can be severe and disorientating as the view can end up somewhere very different from "where you left it", but the caret position is unchanged and might not even be on-screen anymore. As an example, a large README.md file for our application was scrolled with line 656 at the view midpoint with caret placed there, so that line 633 was at the top of the view. I switched to another tab then back again and after a brief delay the view jumped so that line 602 was at the top of the view and line 656 wasn't even visible. This jump doesn't happen with word wrap turned off, but *does* still happen if I've allowed the Textmate configuration to change font sizes on headings.
It just "feels like" there's some kind of scroll position recalculation happening on a thread whenever a tab regains focus, but this calculation isn't accounting for "unusual line heights" due to line wrap or (maybe) font sizes.
Just me?
On 11 Feb 2021, at 16:56, Andrew Hodgkinson via TextMate wrote:
It just "feels like" there's some kind of scroll position recalculation happening on a thread whenever a tab regains focus, but this calculation isn't accounting for "unusual line heights" due to line wrap or (maybe) font sizes.
Just me?
Oh, no. There have been many reports/discussions of this issue. Back in Nov 2018, this is what Allan had to say:
The problem is that it stores a buffer offset as the “first character” but this may visually change due to delayed softwrap calculation.
It’s not a new issue: Once I get around to overhaul the text layout/rendering code, I expect to address this and other related issues.
The best tip I can give you for now is to wait for it to finish freaking out, then hit ⌃L to just to the actual cursor position.
I'd like to add my vote for addressing this "jumping around" issue. It's very disorienting when it happens.
Thanks for the ^L tip, I didn't know about that and that will help.
--ErikN
On Thu, Feb 11, 2021 at 2:26 PM Rob McBroom via TextMate < textmate@lists.macromates.com> wrote:
On 11 Feb 2021, at 16:56, Andrew Hodgkinson via TextMate wrote:
It just "feels like" there's some kind of scroll position recalculation happening on a thread whenever a tab regains focus, but this calculation isn't accounting for "unusual line heights" due to line wrap or (maybe) font sizes.
Just me?
Oh, no. There have been many reports/discussions of this issue. Back in Nov 2018, this is what Allan had to say:
The problem is that it stores a buffer offset as the “first character” but this may visually change due to delayed softwrap calculation.
It’s not a new issue: Once I get around to overhaul the text layout/rendering code, I expect to address this and other related issues.
The best tip I can give you for now is to wait for it to finish freaking out, then hit ⌃L to just to the actual cursor position.
-- Rob McBroom _______________________________________________ TextMate mailing list -- textmate@lists.macromates.com To unsubscribe send an email to textmate-leave@lists.macromates.com
On 13 Feb 2021, at 5:38, Erik Neumann via TextMate wrote:
Thanks for the ^L tip, I didn't know about that and that will help.
Likewise - thanks Rob :-)