Try this:
(define-key mode-line-buffer-identification-keymap [mode-line mouse-3] 'list-buffers)
(define-key mode-line-buffer-identification-keymap [mode-line mouse-3] 'list-buffers)
That does not show buffers whose names begin with a space. If you really want to show all buffers, then try this instead:
(define-key mode-line-buffer-identification-keymap
[mode-line mouse-3]
(lambda ()
(interactive)
(display-buffer (list-buffers-noselect nil (buffer-list)))))
(define-key mode-line-buffer-identification-keymap
[mode-line mouse-3]
(lambda ()
(interactive)
(display-buffer (list-buffers-noselect nil (buffer-list)))))
(However, I agree with those who commented that this is a very useful thing to do.)