From c1d4024185dba21b9ef3be9ed2db63903ee1a60e Mon Sep 17 00:00:00 2001 From: cage Date: Sun, 31 Mar 2024 13:56:20 +0200 Subject: [PATCH] - fixed line wrapping of announcements window. --- src/program-events.lisp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/program-events.lisp b/src/program-events.lisp index 149d617..154fe9e 100644 --- a/src/program-events.lisp +++ b/src/program-events.lisp @@ -1895,14 +1895,21 @@ "Shows a window with all announcements" (when-let* ((all-announcements (api-client:get-announcements)) (all-texts (mapcar (lambda (a) - (html-utils:html->text a - :quote-prefix (swconf:message-window-quote-prefix) - :list-item-prefix (swconf:message-window-bullet-prefix))) + (text-utils:justify-monospaced-text (html-utils:html->text a + :quote-prefix + (swconf:message-window-quote-prefix) + :list-item-prefix + (swconf:message-window-bullet-prefix)) + (truncate (* 3/4 + (windows:win-width specials:*main-window*))))) (mapcar #'tooter:content all-announcements))) - (lines (reduce #'append - (mapcar #'text-utils:split-lines all-texts))) - (window-content (text-utils:join-with-strings* (swconf:config-announcements-separator) - lines))) + (lines (mapcar (lambda (a) + (append a + (list "" + (swconf:config-announcements-separator) + ""))) + all-texts)) + (window-content (flatten lines))) (api-client:dismiss-all-announcements all-announcements) (line-oriented-window:make-blocking-list-dialog-window specials:*main-window* window-content