emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to make Emacs popular again: Use monospaced fonts less


From: Eli Zaretskii
Subject: Re: How to make Emacs popular again: Use monospaced fonts less
Date: Thu, 15 Oct 2020 16:57:57 +0300

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: larsi@gnus.org,  emacs-devel@gnu.org
> Date: Wed, 14 Oct 2020 18:53:31 -0400
> 
> >> > Yes, this can be done.  But we'd need fort to decide what is the
> >> > semantics of this:
> >> >   (setq mode-line-thing `(:propertize "%12b" :min-width 10))
> >> One solution is to not use text-properties, e.g.
> > That's what I suggested: to use the "12" part for that.
> 
> That would limit its applicability to to the few % escape sequences
> (and would make it more difficult to provide things like centering,
> min-width, max-width, ...).

We'll need to change the mode-line spec anyway, if we decide to go
this way, no matter if it's by a property or by some change in the
format specs.

The advantage of %12b and its ilk is that it solves 2 problems at the
same time: removes the potential contradiction between the width
specification in mode-line-format and this new property; and allows to
get rid of the text property, which is a certain complication.

> >> The downside is that this will only work for <foo>-line-format, whereas
> >> this kind of functionality would also be handy within buffer text for
> >> tabular modes like `proced`.
> > Outside of the mode line, I don't know how to implement that easily,
> > because that would need some kind of looking-back to find where the
> > text property started.
> 
> Indeed.  Maybe the text-property's value should include the information
> of what is the "starting position".

??? How can Lisp know that?  The starting position is needed at pixel
accuracy to be useful.  Mode-line display knows that because it keeps
the string iterator object as it goes from one mode-line element to
the next one, and the iterator object needs to keep track of the
current X coordinate.  So we can record the X coordinate we started
from when we begin to lay out each mode-line element.  But that
doesn't happen in normal text layout.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]