1PDFPC(1)                    General Commands Manual                   PDFPC(1)
2
3
4

NAME

6       pdfpc - PDF presenter console with multi-monitor support
7
8

SYNOPSIS

10       pdfpc [options] PDF-file
11
12

DESCRIPTION

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

OPTIONS

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

KEYBINDINGS

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

FEATURES

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

BUGS

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

ACKNOWLEDGEMENTS

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

SEE ALSO

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)
Impressum