1PDFPC(1) General Commands Manual PDFPC(1)
2
3
4
6 pdfpc - PDF presenter console with multi-monitor support
7
8
10 pdfpc [options] PDF-file
11
12
14 pdfpc is a GTK-based presentation viewer which uses Keynote-like multi-
15 monitor output to provide meta information to the speaker during the
16 presentation. It is able to show a normal presentation window on one
17 screen while showing a more sophisticated overview on the other one,
18 providing information like a picture of the next slide, as well as the
19 time left in the presentation. pdfpc processes PDF documents, which can
20 be created using nearly all modern presentation software.
21
22 By default the presenter view appears in the primary monitor and the
23 presentation view in the second monitor (provided you have two moni‐
24 tors).
25
26
28 -B, --list-bindings
29 List action bindings defined
30
31 -C, --time-of-day
32 Display the time of the day
33
34 -d, --duration=N
35 Duration in minutes of the presentation used for timer display.
36 If not given or if a value of 0 is specified, the clock just
37 measures the time in the presentation.
38
39 -e, --end-time=T
40 End time of the presentation. (Format: HH:MM (24h))
41
42 -f, --note-format=FORMAT
43 Enforce format of notes (plain or markdown. Default: markdown)
44
45 -g, --disable-auto-grouping
46 Disable auto detection of overlay groups. (Default: enabled)
47
48 -h, --help
49 Show this help
50
51 -l, --last-minutes=N
52 Time in minutes, from which on the timer changes its color.
53 (Default: 5 minutes)
54
55 -L, --list-actions
56 List actions supported
57
58 -M, --list-monitors
59 List monitors known to the operating system
60
61 -n, --notes=P
62 Position of second-screen beamer notes on the PDF page (left,
63 right, top, bottom, or none. Default: none). Note that this dis‐
64 ables slide auto-grouping.
65
66 -N, --no-install
67 Allow for testing pdfpc without proper installation. Icons, con‐
68 figuration files, etc. will be loaded from the source path loca‐
69 tions. Mostly intended for developers.
70
71 -P, --page
72 Go to a specific page directly after startup. In case of over‐
73 lays, the first slide will be displayed.
74
75 -r, --page-transition=TRANSITION
76 Set default page transition. The TRANSITION specification is of
77 the form type:duration:angle:alignment:direction. See the Page
78 transitions section for the list of supported types. duration is
79 in seconds. The three last settings are optional (and indeed
80 meaningless for some of the transition types). The accepted
81 values for angle are 0/90/180/270; alignment can be h[orizontal]
82 of v[ertical] and direction i[nward] or o[utward].
83
84 -R, --pdfpc-location=LOCATION
85 Use custom pdfpc file.
86
87 -s, --switch-screens
88 Switch the presentation and the presenter screen.
89
90 -S, --single-screen
91 Force to use only one screen
92
93 -t, --start-time=T
94 Start time of the presentation to be used as a countdown. (For‐
95 mat: HH:MM (24h))
96
97 -T, --enable-auto-srt-load
98 Try loading video subtitle files automatically. For each video
99 media, pdfpc will append ".srt" to the media URI and attempt to
100 load a subtitle file (in the SRT format) from that location.
101
102 -W, --wayland-workaround
103 Enable Wayland-specific workaround. This might fix HiDPI scaling
104 problems.
105
106 -w, --windowed=MODE
107 Run in the given windowed mode (presenter|presenta‐
108 tion|both|none). The default mode is "none" (both windows are
109 fullscreen).
110
111 -X, --external-script=FILENAME
112 Specify a script to be executed with the 'X' (Shift+x) key dur‐
113 ing the presentation. The script must be executable but can oth‐
114 erwise be written in any language. The script is called with the
115 following command line arguments:
116
117 · Name of pdf file
118 · Total slide count
119 · Current slide number
120 · Current user slide number
121
122 If the script exits with a non-zero return value, whatever the
123 script wrote to stdout is printed in the console. Otherwise
124 nothing is printed.
125
126 -Z, --size
127 Size of the presentation window in width:height format (forces
128 windowed mode)
129
130 -1, --presenter-screen=MONITOR
131 Monitor to be used for the presenter screen (see the -M option).
132
133 -2, --presentation-screen=MONITOR
134 Monitor to be used for the presentation screen (see the -M
135 option).
136
137
139 These are the default keybindings for pdfpc:
140
141 Right cursor key / Down cursor key / Page down / Return / Space / 1st
142 mouse button / Mouse wheel down
143 Go forward one slide
144
145 Left cursor key / Up cursor key / Page up / Backspace / 3rd mouse but‐
146 ton / Mouse wheel up
147 Go back one slide
148
149 Shift + Page down
150 Go forward one user slide (see Overlays below)
151
152 Shift + Page up
153 Go back one user slide (see Overlays below)
154
155 Shift + Right cursor key / 1st mouse button / Mouse wheel down
156 Go forward 10 slides
157
158 Shift + Left cursor key / 3rd mouse button / Mouse wheel up
159 Go back 10 slides
160
161 Home Go to the first slide
162
163 End Go to the last slide
164
165 Shift + Backspace / Shift + Space
166 Go back /forward in history.
167
168 Shift + Home / Shift + End
169 Go to the previous / next slide, skipping over overlays that
170 have already been viewed, but at most one user slide.
171
172 Tab / 2nd mouse button
173 Overview mode
174
175 g Input a slide number to jump to
176
177 m Bookmark the current slide and store it in the .pdfpc file for
178 later usage
179
180 Shift + m
181 Load the bookmarked slide which was saved with m before
182
183 t Toggle the toolbox
184
185 1 / KP_1
186 Switch to the normal mode (pen/eraser and pointer are off)
187
188 2 / KP_2
189 Switch the pointer mode on
190
191 3 / KP_3
192 Switch the pen drawing mode on
193
194 4 / KP_4
195 Switch the eraser drawing mode on
196
197 Plus / KP_Add / Equal
198 Depending on the current mode, increase font size of notes or
199 pointer size or the size of pen or eraser
200
201 Minus / KP_Subtract
202 Depending on the current mode, decrease font size of notes or
203 pointer size or the size of pen or eraser
204
205 c Clear the drawing on the current page
206
207 d Toggle visibility of the drawings; if in the drawing mode
208 (pen/eraser), exit it
209
210 f Freeze the current presentation display (the presenter display
211 is still fully active)
212
213 w Toggle between the fullscreen and windowed mode of the presenter
214 screen
215
216 b Turn off the presentation view (i.e. fill it with a black
217 color)
218
219 h Hide the presentation window (i.e. make other windows on the
220 other screen visible)
221
222 Escape Exit any "special" state (pause, freeze, blank)
223
224 Ctrl + n
225 Edit notes for the current slide (press Escape to exit this
226 mode)
227
228 s Start timer
229
230 p Pause timer
231
232 Ctrl + t
233 Reset timer
234
235 Ctrl + o
236 Toggle the overlay flag for one particular slide (see Overlays
237 below)
238
239 Ctrl + e
240 Define end slide
241
242 Ctrl + r
243 Reload the presentation (e.g., if the PDF file has been updated)
244
245 Ctrl + q
246 Exit pdfpc
247
248 ? Show a cheat sheet with the keyboard and mouse bindings; press
249 Escape or Return to exit it
250
251 Within the overview mode, the following key bindings are used:
252
253 Return / 1st mouse button
254 Go to currently selected page (last page of overlay)
255
256 Shift + Return / Shift + 1st mouse button
257 Go to currently selected page (first page of overlay)
258
259 Cursor left / Page up
260 Select previous slide
261
262 Cursor right / Page down
263 Select next slide
264
265
266 See pdfpcrc(5) if you want to customize the key or mouse bindings.
267 Please note though, that only in the normal mode the mouse bindings are
268 configurable.
269
270
272 Caching / Pre-rendering
273 To allow fast changes between the presentation slides, the PDF pages
274 are pre-rendered to memory. The progress bar on the bottom of the pre‐
275 senter screen indicates how many percent of the slides have been pre-
276 rendered already. During the initial rendering phase this will slow
277 down slide changes, as most CPU power is used for the rendering process
278 in the background. After the cache is fully primed, however, the
279 changing of slides should be much faster, as with normal PDF viewers.
280
281
282 To avoid excessive memory consumption, cached are only slides that took
283 a significant time to render; this threshold is configurable. In order
284 to further reduce memory consumption, the pre-rendered and cached
285 slides are selectively compressed in memory. The compression factor is
286 typically 10-30, however, it takes some CPU time to compress and uncom‐
287 press, so there is a trade-off. Small images below a certain (config‐
288 urable) threshold will not be compressed.
289
290
291 Please refer to the pdfpcrc(5) man page for options to fine tune the
292 caching algorithm.
293
294
295 Timer
296 If a duration is given (-d option), the timer will show a countdown
297 with the given parameters. If no duration is specified (or if a value
298 of 0 is given to the -d option), the timer will show how much time has
299 been spent. The duration is stored automatically, so you do not need
300 to repeat it for every invocation.
301
302 The timer is started if you are navigating away from the first page for
303 the first time. This feature is quite useful as you may want to show
304 the title page of your presentation while people are still entering the
305 room and the presentation has not really begun yet. If you want to
306 start over you can use the 'Ctrl + t' key which will make the presenter
307 reset the timer.
308
309 If a duration is given, the timer also provides hints aiding the pre‐
310 senter to judge whether the talk would end on time. There are two
311 modes in which pdfpc can operate. In the old (and the only one avail‐
312 able up to, and including pdfpc-4.0.8) mode, at the moment the timer
313 reaches the defined last-minutes value it will change color to indicate
314 your talk is nearing its end, thus mimicking a chairman frantically
315 pantomiming in front of you with five (four, three, ...) fingers up. A
316 drawback of this approach is it is often too late at that moment to
317 alter the presentation pace without ruining to some extent the rest of
318 the talk. On the other hand, the warning indication provides an unnec‐
319 essary distraction if you have been perfectly conveying the talk and
320 the remaining time is adequate.
321
322 Contrary to that, in the new (default) mode, pdfpc tracks your progress
323 continuously, calculating the expected time as (talk_duration)*(cur‐
324 rent_user_slide_number - 0.5)/(total_number_of_user_slides) and compar‐
325 ing it to the actual wall time since beginning of the talk. If these
326 two numbers differ by more than 60 seconds, the timer changes its color
327 to either orange (indicating you need to speed up) or a blueish one
328 (need to slow down). Once the optimal progress is recovered, the timer
329 becomes white again. In this mode, the last-minutes option (-l) has no
330 effect. The previous behavior can be restored by setting the 'timer-
331 pace-color' option to 'false' in the configuration file, see pdf‐
332 pcrc(5).
333
334 In any case as soon as the timer reaches the zero mark (00:00:00), it
335 will turn red and count further down showing a negative time, to pro‐
336 vide information on how many minutes you are overtime.
337
338
339 Notes
340 Textual notes can be displayed for each slide. pdfpc understands the
341 Markdown syntax, which allows for rendering anything from plain text to
342 a very rich formatting, if so desired. A few types of PDF annotations
343 are understood by pdfpc and will be automatically imported and dis‐
344 played. The PDF annotations can be made using many PDF editors and even
345 viewers; when using LaTeX, the pdfpc package (see below) provides a
346 convenient macro. These "native" PDF notes cannot be edited in pdfpc.
347
348 In addition, while in the presentation mode, pressing 'Ctrl + n' will
349 allow you to take or edit notes for the current user slide. To exit
350 the note editing mode, press the Escape key. These notes are stored in
351 the .pdfpc file. They take precedence over the native PDF annotations,
352 i.e., if a user-provided note exists for a given slide, any PDF annota‐
353 tions on that page will be silently ignored. While editing a note, the
354 normal keybindings are disabled, e.g., you are not able to change
355 slides.
356
357 Although mixing the two types of notes is possible, for a given presen‐
358 tation one will likely want to have either only the "native" notes
359 (produced by the same PDF authoring software used for making the
360 slides), or only the "pdfpc" ones.
361
362
363 Overview mode
364 Pressing the Tab key enters the overview mode, where thumbnails of the
365 slides are shown in a grid. You can select a slide to jump to with the
366 mouse or with the arrow keys. You can also define overlays and the end
367 slide (see next sections) in this mode. Press Escape to exit the mode
368 without making an change.
369
370
371 Overlays
372 Many slide preparation systems allow for overlays, i.e. sets of slides
373 that are logically grouped together as a single, changing slide. Exam‐
374 ples include enumerations where bullet items are displayed one after
375 another, or rough "animations", where parts of a picture change from
376 slide to slide. Pdfpc includes facilities for dealing with such over‐
377 lays.
378
379
380 In this description, we will differentiate between slides (i.e. pages
381 in the PDF document) and "user slides", that are the logical slides.
382 The standard forward movement command (page down, enter, etc.) moves
383 through one slide at a time, as expected. This means that every step
384 in the overlay is traversed. The backward movement command works dif‐
385 ferently depending on whether the current and previous slides are part
386 of an overlay:
387
388
389 · If the current slide is part of an overlay we just jump to the previ‐
390 ous slide. That means that we are in the middle of an overlay and
391 can jump forward and backward through the single steps of it
392
393 · If the current slide is not part of an overlay (or if it is the first
394 one), but the previous slides are, we jump to the previous user
395 slide. This means that when going back in the presentation you do
396 not have to go through every step of the overlay, pdfpc just shows
397 the first slide of each overlay. As one typically goes back in a
398 presentation only when looking for a concrete slide, this is more
399 convenient.
400
401
402 The Shift + Page up/down key combinations work on the "user slide"
403 basis. You can use them to skip the rest of an overlay or to jump to
404 the previous user slide, ignoring the state of the current slide.
405
406
407 When going through an overlay, two additional previews may be activated
408 in the presenter view, just below the main view, showing the next and
409 the previous slide in an overlay.
410
411
412 Pdfpc tries to find these overlays automatically by looking into the
413 page labels in the PDF file. For LaTeX this works correctly at least
414 with the beamer class and also modifying the page numbers manually
415 (compiling with pdflatex). If your preferred slide-producing method
416 does not work correctly with this detection, you can supply this infor‐
417 mation using the 'Ctrl + o' key for each slide that is part of an over‐
418 lay (except the first one!). The page numbering is also adapted. This
419 information is automatically stored.
420
421
422 End slide
423 Some people like to have some additional, backup slides after the last
424 slide in the actual presentation. Things like bibliographic references
425 or slides referring to specialized questions are typical examples.
426 Pdfpc lets you define which is the last slide in the actual presenta‐
427 tion via the 'Ctrl + e' key. This just changes the progress display in
428 the presenter screen, as to have a better overview of how many slides
429 are left.
430
431
432 Page transitions
433 Pdfpc supports almost all standard animated PDF page transitions:
434 blinds, box, cover, dissolve, fade, glitter (except the diagonal one),
435 push, split, uncover, and wipe, including various alignments, angles,
436 and directions (where applicable). The transitions are enabled only for
437 sequential (either forward or backward) movement; in the later case,
438 the transition is "inverted".
439
440 Advancing slides automatically is also supported.
441
442
443 Movies
444 Pdfpc can play back movies included in the PDF file. Movies may be
445 started and stopped by clicking within their area. For the presenter,
446 a progress bar is drawn along the bottom of the movie. This expands
447 when the mouse hovers over it, allowing one to seek by clicking or
448 dragging within the progress bar. Switching slides automatically stops
449 playback, and movies will be reset after leaving and returning to a
450 slide.
451
452
453 Movies may be included in PDF files as "screen annotations". pdfpc
454 does not yet support options that modify the playback of these movies.
455 In LaTeX, such movies may be added to a presentation with the "movie15"
456 or "multimedia" package. Note that the poster, autoplay, and repeat
457 options are not yet supported. (Also, run ps2pdf with the -dNOSAFER
458 flag.)
459
460
461 As a perhaps simpler option, pdfpc will play back movies linked from a
462 hyperlink of type "launch". A query string may be added to the URL of
463 the movie to enable the "autostart", "loop" and "noprogress" proper‐
464 ties, if necessary. (E.g., a link to
465 "movie.avi?autostart&loop&noprogress" will add a video that starts
466 playing automatically, loops when it reaches the end, and does not show
467 the progress bar.)
468
469 In LaTeX, such links are created with
470
471 \usepackage{hyperref}
472 \href{run:<movie file>}{<placeholder content>}
473
474
475 The movie will playback in the area taken by the placeholder content.
476 Using a frame of the movie will ensure the correct aspect ratio.
477
478
479 See our website ⟨http://pdfpc.github.io/demo/pdfpc-video-example.zip⟩
480 for a full example.
481
482
483 See the bugs section for further information.
484
485
486 Pointer mode
487 If needed, it is possible to turn on a pointer which draws a red (by
488 default) dot in the place pointed by mouse cursor on both presenter and
489 presentation screens. It is also possible to increase and decrease the
490 pointer size. Additionally, when the pointer is enabled, it is possi‐
491 ble to highlight some area of the current slide using the drag mouse
492 motion. The area outside the selected region will be dimmed. You can
493 zoom in the selected area by pressing 'z'; press in, but there will be
494 no further action on pressing 'z'. Drawing is also disabled in this
495 mode.
496
497
498 Spotlight mode
499 Spotlight mode is similar to the pointer mode: a circular area that
500 moves with the mouse and can be adjusted in size, but instead of high‐
501 lighting the spot by a different color, it shades the background.
502
503
504 Drawing mode
505 It is possible to turn on a mode which allows drawing over slides with
506 the mouse cursor or a connected tablet. When drawing mode is enabled,
507 drawings can be made on the presenter screen. A separate drawing will
508 be kept in memory for each slide (based on user slide numbers, so con‐
509 solidating overlay slides). Drawings are presently not saved between
510 sessions.
511
512 In the drawing mode, there are two drawing tools, a pen and an eraser.
513 An indicator in the bottom-left corner of the presenter screen will
514 indicate which is active. When in the pen mode, the color and size of
515 the pen will be indicated by the cursor. The pen size can be increased
516 or decreased using hot keys specified in the key bindings. When the
517 eraser tool is active, the size of the cursor indicates the amount to
518 erase.
519
520 The color of the pen can be changed through key bindings or using the
521 toolbox.
522
523 If you are using a tablet, the pen or eraser tool will be selected
524 based on whether the tablet reports a pen or eraser input device is
525 being used, overriding the normal selection of the drawing tool. Also
526 for pressure-sensitive input devices, the pressure will affect the line
527 width and the eraser size. Both these features can be disabled in the
528 configuration file, if desired.
529
530
531 Monitor Plug and Play
532 Pdfpc can handle monitor plug and play. E.g. if pdfpc was started
533 before the presentation screen was attached to the computer, pdfpc can
534 create and show the presentation screen after the second screen was
535 attached. This allows the user to rehearse the slides and switch to a
536 normal presentation without having the full setup at the computer in
537 advance.
538
539
540 pdfpc files
541 Notes, user-defined overlays, and some additional information is stored
542 in a file with extension "pdfpc". When pdfpc is invoked with a PDF
543 file, it automatically checks for and loads the associated .pdfpc file,
544 if it exists. This means that you normally do not have to deal with
545 this kind of files explicitly.
546
547 Beside internal configuration, the following command-line options are
548 saved in the pdfpc file for later usage:
549
550
551 · duration
552
553 · end_time
554
555 · last_minutes
556
557 · notes (position)
558
559 · page_transition
560
561 · start_time
562
563
564 Appearance
565 With GTK3 it is possible to modify the appearance of pdfpc. There are
566 two locations where pdfpc is looking for files. The default location is
567 /usr/share/pixmaps/pdfpc/pdfpc.css. It can be copied to $XDG_CON‐
568 FIG_HOME/pdfpc/pdfpc.css and modified to the user's liking.
569
570 The geometry of various views (the current/next etc slide) in the pre‐
571 senter window can be adjusted at run time in the "Customization" mode,
572 which is activated by pressing Shift+c. In this mode, mouse-draggable
573 handles will appear. Exit the customization with Escape.
574
575
576 Desktop integration
577 Pdfpc provides a DBus interface that appears on the session bus as
578 io.github.pdfpc. Other applications can, in particular, execute any
579 action listed by --list-actions. It is also possible to control pdfpc
580 from the command line (and write shell scripts) using the dbus-send(1)
581 utility. For example, to advance to the next slide, run
582
583 dbus-send --type=method_call --session --dest=io.github.pdfpc
584 /io/github/pdfpc io.github.pdfpc.TriggerAction string:next
585
586 For actions that require an argument, use TriggerActionArg, e.g.,
587
588 dbus-send --type=method_call --session --dest=io.github.pdfpc
589 /io/github/pdfpc io.github.pdfpc.TriggerActionArg string:switchMode
590 string:pointer
591
592 In addition to TriggerAction*, the pdfpc DBus interface exposes the
593 GetNotes method, three properties (NumberOfOverlays, NumberOfSlides,
594 Url) and two signals (OverlayChange and SlideChange).
595
596
597 LaTeX package
598 A tiny LaTeX package is available for pdfpc at CTAN. It provides a con‐
599 venient way to specify notes and to define certain meta properties of
600 the presentation. For a full documentation, please consult the pdfpc
601 package documentation. You can open it with:
602
603 $ texdoc pdfpc
604
605
607 Bugs can be reported at our issue tracker ⟨https://github.com/pdfpc/
608 pdfpc/issues⟩.
609
610
611 The LaTeX package "hyperref" produces buggy results when using with
612 beamer notes. It is recommended to use the "multimedia" package
613 instead.
614
615
617 pdfpc was previously developed by davvil ⟨https://github.com/davvil/
618 pdfpc⟩.
619
620 pdfpc is a fork of Pdf Presenter Console, available online ⟨https://
621 github.com/jakobwesthoff/Pdf-Presenter-Console⟩.
622
623
625 pdfpcrc(5)
626
627 There are several other programs with similar functionality.
628
629 impressive(1) has nice transition effects.
630
631 hpdfp(1) is the Haskell PDF Presenter ⟨http://michaeldadams.org/
632 projects/haskell-pdf-presenter/⟩ program, which packs an amazing level
633 of functionality into not many lines of Haskell.
634
635 pympress(1) is a little PDF reader written in Python ⟨https://
636 github.com/Cimbali/pympress⟩ which handles dual screens and beamer
637 notes.
638
639 dspdfviewer(1) is also specialized for beamer-produced wide PDF with
640 notes.
641
642 Many PDF viewers have full-screen presentation modes, but without dual-
643 monitor preview or notes or a timer. These include zathura(1),
644 evince(1), and okular(1).
645
646
647
648 PDFPC(1)