I use something like the following to show the last 20 or so messages in a selection list, and picking one redisplays the message will copy its contents into the clipboard.
(defcommand show-message-window-messages () ()
"Display a list of message-window messages"
(let* ((*record-last-msg-override* t)
(screen (current-screen))
(sel (select-from-menu screen
(screen-last-msg screen)
nil)))
(when sel
(echo-string-list screen sel)
(set-x-selection (format nil "~{~a~^~%~}" sel) :clipboard))))
Hope this helps.
-ram