From: plugd Date: Sun, 18 Jul 2021 19:46:24 +0000 (+0200) Subject: Maximise visibility of buffer when point on the last line. X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=commitdiff_plain;h=d2507cb2725f6b4fb367fc48c99950ea00fb9ee7;p=lurk.git Maximise visibility of buffer when point on the last line. --- diff --git a/lurk.el b/lurk.el index f030555..8967094 100644 --- a/lurk.el +++ b/lurk.el @@ -446,8 +446,14 @@ portion of the source component of the message, as LURK doesn't use this.") (fill-region (point-min) (point-max) nil t) (buffer-string)))) +(defun lurk--start-of-final-line () + (with-current-buffer "*lurk*" + (save-excursion + (goto-char (point-max)) + (line-beginning-position)))) + (defun lurk-display-string (context prefix &rest strings) - (with-current-buffer (get-buffer-create "*lurk*") + (with-current-buffer "*lurk*" (save-excursion (goto-char lurk-prompt-marker) (let* ((inhibit-read-only t) @@ -474,7 +480,11 @@ portion of the source component of the message, as LURK doesn't use this.") 'face (lurk-get-context-facelist context) 'read-only t 'context context - 'invisible context-atom)))))))) + 'invisible context-atom)))))) + (dolist (window (get-buffer-window-list)) + (if (>= (window-point window) (lurk--start-of-final-line)) + (with-selected-window window + (recenter -1)))))) (defun lurk-display-message (from to text) (let ((context (if (eq 'channel (lurk-get-context-type to))