Dear Emacs maintainers, I want to propose the addition of an optional recency column to Ibuffer, which shows the last buffer display time. Sorting by recency is already supported by Ibuffer (ibuffer-do-sort-by-recency). I use the following code in my configuration:
(defvar-keymap ibuffer-recency-header-map "<mouse-1>" #'ibuffer-do-sort-by-recency) (define-ibuffer-column recency (:inline t :summarizer ignore :header-mouse-map ibuffer-recency-header-map) (if-let ((time (buffer-local-value 'buffer-display-time buffer))) (progn (require 'marginalia) (marginalia--time (buffer-local-value 'buffer-display-time buffer))) "never")) The time string is formatted in a human readable form, relative to to the current time, e.g., "2 mins ago", "30 secs ago" or "never". I use the function from the Marginalia package from GNU ELPA for formatting right now. As far as I know Emacs does not yet provide a relative time formatting function? Maybe there is interest in adding marginalia--time to Emacs, e.g., with the name format-time-relative? As far as I know, multiple packages define a similar formatting function, such that we could potentially get some code reuse. The function could be ported back via Compat to make it available to ELPA packages. Thank you!