GNU bug report logs - #72309
propertized-buffer-identification with maximum width

Previous Next

Package: emacs;

Reported by: Heime <heimeborgia <at> protonmail.com>

Date: Fri, 26 Jul 2024 19:05:01 UTC

Severity: normal

Tags: notabug

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Heime <heimeborgia <at> protonmail.com>
To: Heime <heimeborgia <at> protonmail.com>
Cc: 72309 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: bug#72309: propertized-buffer-identification with maximum width
Date: Sat, 27 Jul 2024 20:49:05 +0000
On Sunday, July 28th, 2024 at 3:27 AM, Heime via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> wrote:

> Sent with Proton Mail secure email.
> 
> On Sunday, July 28th, 2024 at 2:56 AM, Heime via "Bug reports for GNU Emacs, the Swiss army knife of text editors" bug-gnu-emacs <at> gnu.org wrote:
> 
> > Sent with Proton Mail secure email.
> > 
> > On Sunday, July 28th, 2024 at 1:29 AM, Eli Zaretskii eliz <at> gnu.org wrote:
> > 
> > > > Date: Sat, 27 Jul 2024 13:08:31 +0000
> > > > From: Heime heimeborgia <at> protonmail.com
> > > > Cc: 72309 <at> debbugs.gnu.org
> > > > 
> > > > On Sunday, July 28th, 2024 at 1:00 AM, Eli Zaretskii eliz <at> gnu.org wrote:
> > > > 
> > > > > Yes, but the (WIDTH something) construct is not for truncating long
> > > > > names, it's for ensuring the string produced by "something" doesn't
> > > > > take too many columns. So you are using this for a wrong purpose. If
> > > > > you want to truncate a buffer's name, use truncate-string-to-width
> > > > > instead, which is also capable of showing the ellipsis at the end.
> > > > 
> > > > I do not know how to access the buffer name and apply truncate-string-to-width
> > > > when setting mode-line-buffer-identification on propertized-buffer-identification.
> > > 
> > > Use :eval.
> > 
> > I have done it without success
> > 
> > (defun vodil-rtgbfn (wmin)
> > (setq-default mode-line-buffer-identification
> > (propertized-buffer-identification (format " %%%db " wmin))))
> > 
> > (vodil-rtgbfn 8)
> > 
> > (setq-default mode-line-format
> > '( "%e" (:eval (truncate-string-to-width mode-line-buffer-identification 13))
> > vodil-panelit-bfselec))
> 
> 
> 
> Have now done, but now the buffer name is not displayed. Why has there
> to be so much torture to change the defaults !
> 
> (defun vodil-tkbfn-ellipses (wmax)
> "Get the buffer name truncated to WMAX width with ellipsis."
> 
> (let* ( (bfname (buffer-name (window-buffer)))
> (tkname (if (> (length bfname) wmax)
> 
> (truncate-string-to-width bfname wmax nil nil "...")
> bfname)))
> (propertized-buffer-identification (format " %s " tkname))))
> 
> 
> (defun vodil-tkbfn (wmax)
> "Set mode-line-buffer-identification with WMAX maximum width."
> 
> (setq-default mode-line-buffer-identification
> '(:eval (vodil-tkbfn-ellipses wmax))))
> 

What is the big problem of showing how to implement this, buffer name
with truncation ellipses using mode-line-buffer-identification ?

Can there be some additional commands to make this possibility less
cumbersome.  For instance, an option that gives mode-line-buffer-identification
with truncation ellipses. 





This bug report was last modified 141 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.