Function: newsticker--treeview-item-show
newsticker--treeview-item-show is a byte-compiled function defined in
newst-treeview.el.gz.
Signature
(newsticker--treeview-item-show ITEM FEED-NAME-SYMBOL)
Documentation
Show news ITEM coming from FEED-NAME-SYMBOL in treeview item buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/net/newst-treeview.el.gz
(defun newsticker--treeview-item-show (item feed-name-symbol)
"Show news ITEM coming from FEED-NAME-SYMBOL in treeview item buffer."
(setq newsticker--treeview-current-feed (symbol-name feed-name-symbol))
(with-current-buffer (newsticker--treeview-item-buffer)
(when (fboundp 'w3m-process-stop)
(w3m-process-stop (current-buffer)))
(let ((inhibit-read-only t)
(is-rendered-HTML nil)
pos
(marker1 (make-marker))
(marker2 (make-marker)))
(erase-buffer)
(kill-all-local-variables)
(remove-overlays)
(when (and item feed-name-symbol)
(let ((wwidth (1- (if (window-live-p (newsticker--treeview-item-window))
(window-width (newsticker--treeview-item-window))
fill-column))))
(if newsticker-use-full-width
(setq-local fill-column wwidth))
(setq-local fill-column (min fill-column wwidth)))
(let ((desc (newsticker--desc item)))
(insert "\n" (or desc "[No Description]")))
(set-marker marker1 (1+ (point-min)))
(set-marker marker2 (point-max))
(setq is-rendered-HTML (newsticker--treeview-render-text marker1
marker2))
(when (and newsticker-justification
(not is-rendered-HTML))
(fill-region marker1 marker2 newsticker-justification))
(newsticker-treeview-item-mode)
(goto-char (point-min))
;; insert logo at top
(let* ((newsticker-enable-logo-manipulations nil)
(img (newsticker--image-read feed-name-symbol nil 40)))
(if (and (display-images-p) img)
(newsticker--insert-image img (car item))
(insert (if newsticker-treeview-use-feed-name-from-url-list-in-itemview
(symbol-name feed-name-symbol)
(newsticker--real-feed-name feed-name-symbol)))))
(add-text-properties (point-min) (point)
(list 'face 'newsticker-feed-face
'mouse-face 'highlight
'help-echo (concat (newsticker--real-feed-name feed-name-symbol)
"\nClick to visit in web browser.")
:nt-link (newsticker--link item)
'keymap newsticker--treeview-url-keymap))
(setq pos (point))
(insert "\n\n")
;; insert title
(setq pos (point))
(insert (newsticker--title item) "\n")
(set-marker marker1 pos)
(set-marker marker2 (point))
(newsticker--treeview-render-text marker1 marker2)
(put-text-property pos (point) 'face 'newsticker-treeview-new-face)
(goto-char marker2)
(delete-char -1)
(insert "\n")
(put-text-property marker2 (point) 'face 'newsticker-treeview-face)
(set-marker marker2 (point))
(when newsticker-justification
(fill-region marker1 marker2 newsticker-justification))
(goto-char marker2)
(add-text-properties marker1 (1- (point))
(list 'mouse-face 'highlight
'help-echo "Visit in web browser."
:nt-link (newsticker--link item)
'keymap newsticker--treeview-url-keymap))
(insert (format-time-string newsticker-date-format
(newsticker--time item)))
(insert "\n")
(setq pos (point))
(insert "\n")
;; insert enclosures and rest at bottom
(goto-char (point-max))
(insert "\n\n")
(setq pos (point))
(newsticker--insert-enclosure item newsticker--treeview-url-keymap)
(put-text-property pos (point) 'face 'newsticker-enclosure-face)
(setq pos (point))
(insert "\n")
(set-marker marker1 pos)
(newsticker--print-extra-elements item newsticker--treeview-url-keymap t)
(set-marker marker2 (point))
(newsticker--treeview-render-text marker1 marker2)
(put-text-property marker1 marker2 'face 'newsticker-extra-face)
(goto-char (point-min)))))
(if (and newsticker-treeview-automatically-mark-displayed-items-as-old
item
(memq (newsticker--age item) '(new obsolete)))
(let ((newsticker-treeview-automatically-mark-displayed-items-as-old nil))
(newsticker-treeview-mark-item-old t)
(newsticker--treeview-list-update-faces)))
(if (window-live-p (newsticker--treeview-item-window))
(set-window-point (newsticker--treeview-item-window) 1)))