bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#52129: 29.0.50; Wish: Extend `:align-to center' to work on lines in


From: Arthur Miller
Subject: bug#52129: 29.0.50; Wish: Extend `:align-to center' to work on lines in buffer
Date: Sun, 28 Nov 2021 00:40:30 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Cc: 52129@debbugs.gnu.org
>> Date: Sat, 27 Nov 2021 12:06:19 +0100
>> 
>> > No, I mean to put this property:
>> >
>> >     'display '(space :align-to center)
>> >
>> > on a space character (or any other character, which will not be
>> > displayed) that is prepended to the time-stamp-string you want to
>> > display.
>> 
>> Aha, like this?:
>> 
>> (defun evc--time ()
>>   (concat (propertize " " 'display '(space :align-to center))
>>           (propertize
>>            (time-stamp-string " %H:%M") 'face evc--time-face)))
>> 
>> That still seems to be dependanble on when the time string is inserted? 
>> Because
>> when I test to insert like this:
>> 
>> (defun evc--update ()
>>   (let ((time (evc--time))
>>         (date (evc--date)))
>>     (when (frame-live-p evc--frame)
>>       (select-frame evc--frame))
>>     (with-current-buffer evc--buffer
>>       (erase-buffer)
>>       (insert time "\n" date)
>>       (goto-char 1))))
>> 
>> the string is not centered correctly; there is ~70 pixels difference between
>> left and right margins.
>
> That's because it centers the first character of the string, not its
> middle character.

That too; so you see, it is not as simple to get it right by just prepending a
space with :align-to center property.

>> Is there any way to make it aware of surrounding context, like entire line? 
>> Or
>> would that be too demanding computationally?
>
> I don't think I understand what you mean by "surrounding context", and
> what would it mean for it to "be aware" of it?

With context I meant simply the line, or at least part of the line to be
displayed. To be aware of it = to take it into consideration when displaying
line, so things like suggested would be possible.






reply via email to

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