Function: doc-view-presentation
doc-view-presentation is an interactive and byte-compiled function
defined in doc-view.el.gz.
Signature
(doc-view-presentation)
Documentation
Put Doc-View in presentation mode.
Probably introduced at or before Emacs version 27.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/doc-view.el.gz
(defun doc-view-presentation ()
"Put Doc-View in presentation mode."
(interactive)
(let* ((src-data (cons (selected-window) (doc-view-current-page)))
(mal (display-monitor-attributes-list))
(monitor-top 0)
(monitor-left 0)
(monitor-height (display-pixel-height))
(monitor-width (display-pixel-width)))
(dolist (attrs mal)
(when (memq (selected-frame) (alist-get 'frames attrs))
(let ((geom (alist-get 'geometry attrs)))
(when geom
(setq monitor-left (nth 0 geom))
(setq monitor-top (nth 1 geom))
(setq monitor-width (nth 2 geom))
(setq monitor-height (nth 3 geom))))))
(let ((frame (make-frame
`((minibuffer . nil)
(fullscreen . fullboth)
(height . ,(ceiling monitor-height (frame-char-height)))
;; Don't use `ceiling' here since doc-view will center the
;; image instead.
(width . ,(ceiling monitor-width (frame-char-width)))
(name . "Doc-View-Presentation")
(top . ,monitor-top) (left . ,monitor-left) (user-position . t)
(vertical-scroll-bars . nil)
(left-fringe . 0) (right-fringe . 0)
(menu-bar-lines . 0)
(tool-bar-lines . 0)))))
(select-window (frame-root-window frame))
(setq doc-view-presentation--src-data src-data)
(set-window-dedicated-p (selected-window) t)
(doc-view-presentation-mode 1))))