GNU bug report logs -
#72309
propertized-buffer-identification with maximum width
Previous Next
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
Message #40 received at 72309 <at> debbugs.gnu.org (full text, mbox):
> Date: Sat, 27 Jul 2024 20:49:05 +0000
> From: Heime <heimeborgia <at> protonmail.com>
> Cc: 72309 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
>
> 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 ?
We don't have people here whose job is to write code for others. This
is a volunteer-based project, where people help you with ideas, but
the actual job of writing and debugging the code is yours.
So please take the ideas, read the documentation, and work on the
implementation you want. If you have questions about the
implementation, please ask them on help-gnu-emacs, which is where
user-level help should be sought.
> 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.
No.
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.