|
From: | Alp Aker |
Subject: | Re: Fill column indicator functionality |
Date: | Fri, 15 Mar 2019 10:35:41 -0400 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:60.0) Gecko/20100101 Thunderbird/60.5.3 |
I'm sure users will find customizing a character much easier than customizing an image. In any case, I wouldn't give up on allowing a character, even if we do support images, because there's no reason to restrict users to images. For example, a suitable selection of a character could produce identical displays on GUI and TTY frames, something that an image could never do.
I just wanted to expand on this point and clarify my motivations for chiming in on this discussion. I'm very grateful Ergus is doing this work, as I've long felt that the functionality of fill-column-indicator can only be robustly implemented in the display engine. I merely want to offer my experience as the author of what, until now, has been the main package providing this kind of functionality in order to make Ergus's work more successful.
When I first implemented fill-column-indicator I used a character-based approach and, overwhelmingly, the feedback I received from users concerned difficulties in finding and successfully configuring use of a font that would provide a seamless visual effect. When I added the option to use XPM images (generated not by the user, but by the package, with customization options concerning color, thickness, etc.), users only seemed to make use of that. I've never received a complaint from someone wanting to use the package on a system that didn't support XPM images.
. Using the continuous line would cause complications wrt redisplay optimizations. Redisplay of text is highly optimized in Emacs, and frequently needs to update only a small portion of the window. The problem is what to do about the indicator line when only some portions are redrawn.Unless I'm mistaken, the method I'm describing would allow the same optimizationsYes, but I was replying to a completely different idea. What you propose is just a trivial extension of the code posted here, so all of the effort that went into that will still be valid, and most of my message is not really relevant.
[Prev in Thread] | Current Thread | [Next in Thread] |