1IMPRESSIVE(1)              Impressive Documentation              IMPRESSIVE(1)
2
3
4

NAME

6       Impressive - presentation tool with eye candy
7

SYNOPSIS

9       impressive [OPTIONS...] FILES...
10

DESCRIPTION

12       Impressive is a simple presentation program that displays slideshows of
13       PDF documents, image files  or  video  files.  Rendering  is  done  via
14       OpenGL, which allows for some "eye candy" effects.
15
16       A  somewhat-modern GPU (graphics processing unit) supporting OpenGL 2.0
17       or OpenGL ES 2.0 and appropriate drivers are required  to  run  Impres‐
18       sive.
19

OPTIONS

21       -a <seconds> or --auto <seconds>
22              Automatically advance to the next page after the given number of
23              seconds. Together with the -w option (described below), this can
24              be used to create automatic slideshows.
25              Note  that  this  option will not interrupt video playback: If a
26              video is longer than the interval specified with --auto, it will
27              be  played until the end, but Impressive will change to the next
28              page directly after that.
29
30       -A <X>:<Y> or --aspect <X>:<Y>
31              Specifies the display aspect ratio. Normally, Impressive assumes
32              that  the  pixel aspect ratio is 1:1 (square pixels), regardless
33              of the display resolution that has been set up. If a  resolution
34              has been selected that doesn't match the display's aspect ratio,
35              the screen will be distorted. To overcome this, this option  may
36              be  used  to manually specify the display aspect ratio, e.g. "-A
37              16:9". Note that this option has no effect if the MuPDF  backend
38              is used for rendering.
39
40       -b or --noback
41              Disables  background  rendering.  By  default,  Impressive  will
42              pre-render all pages in a separate background thread  while  the
43              presentation  runs. If this option is specified, it will instead
44              render all pages immediately on startup. This option has no  ef‐
45              fect if caching is disabled (--cache none, see below).
46
47       -bare
48              Disables  all  functionality  that  relies  on  temporary files,
49              specifically video frame extraction  using  MPlayer  (extracting
50              video  frames  with  FFmpeg still works), PDF page title extrac‐
51              tion, PDF hyperlinks, and even PDF rendering  for  all  backends
52              except MuPDF 1.4 or newer on Unix-like operating systems.
53
54       --box-edge <pixels>
55              Sets  the border size (in pixels when unzoomed) of the highlight
56              boxes' and spotlight's smooth edges. The default value is 4 pix‐
57              els;  it  can  be set to zero, in which case highlight boxes and
58              the spotlight will have hard edges.
59
60       -B <ms> or --boxfade <ms>
61              Sets  the  duration  (in  milliseconds)  of  the  highlight  box
62              fade-in/fade-out animation. Default value: 100 ms.
63
64       -c <mode> or --cache <mode>
65              Specifies the page cache mode to use. Valid options are:
66              none
67                     Disables  page  caching  altogether, only the current and
68                     the following page will be kept in RAM.  Jumping  between
69                     pages  will be very slow, because Impressive will need to
70                     render the requested pages on the fly. In  addition,  the
71                     overview page won't be complete until every page has been
72                     shown at least once.
73              memory
74                     Caches all page images in memory.  This  is  the  fastest
75                     method,  but  it  requires  very  large amounts of memory
76                     (about 3 MiB per page at 1024x768 resolution).
77              compressed or z
78                     Caches all page images in memory as  well,  but  in  com‐
79                     pressed  form.  This  will be a little slower than memory
80                     mode, but on pages with uniform  backgrounds,  this  will
81                     easily  reduce  the required amount of RAM by a factor of
82                     20.
83              disk
84                     Like memory, but uses a temporary file rather than memory
85                     for storage. This is the default.
86              persistent
87                     Uses  a  permanent cache file for caching. This file will
88                     not be deleted when Impressive quits and will  be  reused
89                     on subsequent invocations. The default name for the cache
90                     file is derived like the names for Info Scripts (see  be‐
91                     low  for an explanation), but with a .cache file name ex‐
92                     tension instead of .info. This method  is  a  little  bit
93                     slower  than disk mode, but the time span until the over‐
94                     view page is fully populated will  be  significantly  de‐
95                     creased  if  Impressive  is ran again with the same input
96                     files and options.
97              The mode name may be abbreviated at will, down to one character.
98              Thus,  --cache  persistent, -c persist and even -cp are all syn‐
99              onyms.
100
101       -C <filename>[:<X>,<Y>] or --cursor <filename>[:<X>,<Y>]
102              This option can be used to specify an image that shall  be  used
103              as  a  (software)  mouse cursor instead of the normal (hardware)
104              one. It can either be a name  of  an  image  file  (typically  a
105              transparent  .png)  or  one  of the special values "-" (dash) or
106              "default", both of which select  a  built-in  cursor  image.  On
107              platforms  that  do  not support a hardware cursor, this default
108              cursor will also be used as a default  if  this  option  is  not
109              used.
110              If  the  name  of an external file is specified, the position of
111              the hotspot (the pixel inside the cursor where the actual  mouse
112              position  is  located)  can  be  specified as well, for example:
113              --cursor mycursor.png:2,4.
114
115       --clock
116              If this option is enabled, the current time will  be  shown  in‐
117              stead of the elapsed time if time display is activated (with the
118              T key in the default control configuration). Compatible with the
119              -M option.
120
121       --control-help
122              This  option  will output a short help screen of how the control
123              configuration (keyboard and mouse bindings) work, along  with  a
124              list of all recognized events and actions and a dump of the cur‐
125              rent bindings (which is the default configuration  if  no  other
126              -e/--bind  or  -E/--controls options precede this option). After
127              that, Impressive will exit; no presentation will be started.
128
129       -d <time> or --duration <time>
130              Specifies the expected run time of the  presentation.  The  time
131              parameter  can be either a number of seconds or a human-readable
132              time like 1:23 (1 minute and 23 seconds), 4:56h (4 hours and  56
133              minutes),  3m45s  (3  minutes and 45 seconds), 5m (5 minutes) or
134              1:23:45 (1 hour, 23 minutes and 45 seconds).
135              If an expected duration is specified,  Impressive  will  show  a
136              semi-transparent  green  progress  bar at the bottom edge of the
137              screen, indicating how much time has already passed. If the time
138              is up, the bar will occupy the whole edge and fade to yellow (at
139              125% of the expected time) to red (at 150% or more).
140
141       -D <ms> or --mousedelay <ms>
142              Sets the time (in milliseconds) the mouse cursor is shown if  it
143              is  not  moved. There are two special values: 0 (zero) shows the
144              mouse cursor permanently, 1 (one) hides it completely.  The  de‐
145              fault  value  is  3000 ms if Impressive is started in fullscreen
146              mode, and 0 (i.e. don't hide) if started in windowed mode.
147
148       --darkness <percentage>
149              Specifies how much the screen shall  become  darker  when  using
150              highlight  boxes  or  spotlight  mode. The value is specified in
151              percent, with 25 being the default. A value of zero  would  mean
152              no  darkening at all (the screen would just be blurred slightly,
153              and desaturated if the graphics hardware  supports  it),  and  a
154              value  of 100 would make everything but the highlighted parts of
155              the screen black.
156
157       -e <bindings> or --bind <bindings>
158              Configures keyboard or mouse bindings. For the syntax of the ar‐
159              gument,  refer  to the Control Configuration section of the man‐
160              ual.
161
162       -E <filename> or --controls <filename>
163              Loads a configuration file for keyboard and mouse bindings.  For
164              the  syntax  of  these files, refer to the Control Configuration
165              section of the manual.
166
167       --evtest
168              If this option is specified, Impressive will not start a  normal
169              presentation,  but instead enter the so-called "Event Test Mode"
170              after the display has been initialized. In this mode, Impressive
171              will  simply  capture  all keyboard and mouse events and display
172              the name of the last event on the screen.  In  addition,  events
173              will  be  logged to standard output. This mode helps with deter‐
174              mining the event names for each key when creating a custom  con‐
175              trol configuration (see the Control Configuration section).
176
177       -f
178              Sets  the window/fullscreen mode Impressive shall start up with.
179              This option can be specified multiple times; each  times  it  is
180              found, the next of the three options is selected, in the follow‐
181              ing order: (1.)True fullscreen mode, including setting the video
182              mode. This is the default mode. (2.)Windowed mode, where Impres‐
183              sive runs in  a  standard  window.  (3.)"Fake-fullscreen"  mode,
184              where  fullscreen  is  emulated by using a window without border
185              that fills the whole screen. Setting the display  resolution  is
186              not possible in this mode. Each of these modes has a correspond‐
187              ing long option that enables it directly  (--fullscreen,  --win‐
188              dowed and --fake-fullscreen).
189
190       --fullscreen
191              Starts Impressive in fullscreen mode (the default). See the dis‐
192              cussion of the -f option for details.
193
194       --fake-fullscreen
195              Starts Impressive in "fake fullscreen" mode. See the  discussion
196              of the -f option for details.
197
198       -F <file> or --font <file>
199              Impressive  uses  some  kind  of text OSD to overlay the current
200              page number and title (if available) on the overview page.  This
201              option can be used to specify a TrueType font file (.ttf) to use
202              for the OSD. If the path specified doesn't directly point  to  a
203              useable font file, Impressive will try to search the system font
204              directories.  It assumes that all fonts are stored  below  /usr/
205              share/fonts, /usr/local/share/fonts or /usr/X11R6/lib/X11/fonts/
206              TTF for this purpose (the latter one is useful for Mac OS X sys‐
207              tems  specifically). If this option is not specified, any of De‐
208              jaVuSans.ttf or Vera.ttf (the typical  file  name  of  Bitstream
209              Vera Sans) will be used as a default.
210
211       -g         <width>x<height>[+<posX>+<posY>]        or        --geometry
212       <width>x<height>[+<posX>+<posY>]
213              Sets the screen size or resolution Impressive shall use (in pix‐
214              els).   If  xrandr  is  installed,  the  default screen size for
215              fullscreen mode is the current screen resolution; on other plat‐
216              forms,  Impressive  uses the highest resolution available to the
217              graphics system. If a standard resolution cannot be  determined,
218              the  default  is  1024x768  pixels. This is also the default for
219              windowed mode.
220              Furthermore, if the additional  parameters  posX  and  posY  are
221              present,  they  specify the position of the upper-left corner of
222              the window (relative to the upper-left corner of  the  desktop),
223              in pixels, for windowed and fake-fullscreen mode. The values are
224              ignored in "true" fullscreen mode.
225
226       -G <gamma>[:<blacklevel>] or --gamma <gamma>[:<blacklevel>]
227              Sets up the startup gamma and (optional) black level value.  The
228              black  level  is  the original image's intensity level (0...254)
229              that is to be mapped to black in Impressive's output. Note  that
230              gamma  and  black  level  adjustments may be unavailable or con‐
231              strained on some systems.
232
233       -h or --help
234              If this option is specified, Impressive writes a  short  command
235              line help screen to standard output and does not start a presen‐
236              tation.
237
238       -H or --half-screen
239              This option makes Impressive show the overview page and OSD ele‐
240              ments  on  the  right half of the screen only. The overview page
241              will only show the left half of  the  slides  as  previews.  The
242              box-zoom  boxes  will  also  be  shown on the left half. Using a
243              multi-monitor setup with a wide  virtual  screen  and  specially
244              crafted  slides  (e.g.  those that can be generated with LaTeX's
245              beamer class), this makes it possible to have presenter's  notes
246              on the second screen.
247              Note  that transitions and animations are still operating on the
248              whole screen, making some of them (like PagePeel) look ugly. Im‐
249              pressive   also   disables   the   overview  zoom  animation  in
250              half-screen mode; it can be re-enabled by explicitly setting  it
251              to another value with a later command line option (--zoomtime).
252              Another  limitation  is that the allocation of the screen halves
253              (slides left, overview right) is fixed.
254
255       -i <page> or --initialpage <page>
256              Specifies the page number to start with. The default value is  1
257              (start  with the first page). If another value is specified, the
258              page shown by Impressive right after initialization is  not  the
259              first  one of the PDF or image list. Additionally, pre-rendering
260              (if enabled) will also start at the specified page.
261
262       -I <filename> or --script <filename>
263              Overrides automatic derivation of the info script  filename  and
264              specifies a script file directly.
265
266       --invert
267              This  option  makes  Impressive  invert the colors of each page,
268              turning black to white and vice-versa. Note that it  is  a  full
269              RGB inversion, so it will, for example, turn dark green to light
270              purple (and vice-versa) too.
271
272       -k or --auto-progress
273              This option makes Impressive show a  progress  bar,  visualizing
274              the  timeout  on pages that have one (either specified as a page
275              property or using the --auto command-line  option).  Nothing  is
276              done on pages that don't have a timeout.
277              If  the  --duration or --page-progress bars are enabled too, the
278              --auto-progress bar is shown on the top of  the  screen;  other‐
279              wise, it's shown on the bottom.
280
281       -l or --listtrans
282              If  this  option  is  specified, Impressive writes a list of all
283              available transition classes to standard  output  and  does  not
284              start  a  presentation.  Transitions that are enabled by default
285              are marked with a star (*) left of the class name.
286
287       -L <spec> or --layout <spec>
288              Specifies the OSD layout. Read below for an explanation of  this
289              option.
290
291       --maxzoom <factor>
292              The  maximum zoom factor up to which Impressive shall attempt to
293              render a high-resolution image of the page when zoomed in.  This
294              can  be any real number larger than or equal to 1.0; the default
295              is 5.0. A setting of 1.0 causes Impressive  to  never  render  a
296              high-resolution  image  for  zooming; in this case, the zoom and
297              box-zoom modes will upscale the image, but not enhance  any  de‐
298              tails.
299              Note  that  regardless of this setting, Impressive always checks
300              the graphics hardware capabilities (in particular,  the  maximum
301              supported  texture  size)  and may reduce the effective value of
302              --maxzoom if the hardware supports less than what has been spec‐
303              ified.
304
305       --min-box-size <pixels>
306              This option sets the minimum size of a highlight box, in pixels.
307              Boxes that are not this many pixels wide and high  are  rejected
308              in  order to prevent accidental creation of highlight boxes. The
309              default value for this is 30 pixels.
310
311       -M or --minutes
312              If this option is set, Impressive will show the on-screen  timer
313              (activated with the T key) only with 1 minute resolution. By de‐
314              fault, it will show a timer with 1 second resolution.
315
316       --noblur
317              By default, Impressive uses a fragment shader to blur and desat‐
318              urate the image when in highlight box or spotlight mode. This is
319              usually the faster and nicer-looking method; however, some  very
320              old  hardware  implementations  can't  deal with that shader and
321              fall back to an unusably slow software  implementation.  Impres‐
322              sive tries to detect scenarios where this would happen and auto‐
323              matically falls back to a different implementation.
324              There might be situations where this mechanism fails and Impres‐
325              sive  tries  to  use  the non-functional shader anyway. In these
326              cases, the --noblur option can be used to enforce  the  fallback
327              implementation.
328
329       -N or --nocursor
330              This option disables any display of a mouse cursor, i.e. neither
331              the system ("hardware") not bitmap ("software") cursor is  shown
332              at any time. It it equivalent to setting --mousedelay to 1. This
333              is mainly useful for automated presentations, where no mouse in‐
334              teraction is needed.
335
336       --noclicks
337              If  this  option  is  enabled, switching to the previous or next
338              page with the left and right mouse buttons is  deactivated.  The
339              keyboard shortcuts are unaffected from this.
340              Note  that  this  option only works as intended when the default
341              controls are used. If the  -e/--bind  or  -E/--controls  options
342              have been used, --noclicks might not have the intended effect.
343
344       --nologo
345              This option disables the Impressive logo and version number dis‐
346              play. Instead, the loading screen will  be  just  black  or,  if
347              background  rendering is disabled, only the progress bar will be
348              visible.
349
350       --nooverview
351              This option disables the overview page. Overview thumbnails  are
352              not  created,  and the Tab that normally enters overview mode is
353              ignored. (More precisely, the overview-enter action is ignored.)
354
355       --noquit
356              This option disables the keyboard shortcuts  (Q  and  Esc)  that
357              could  normally quit Impressive with a single keypress. If it is
358              used, the only way to exit the program is  the  key  combination
359              Alt+F4, and accidental quitting is no longer possible.
360              Note  that  this  option only works properly if the default con‐
361              trols are used. If the -e/--bind or -E/--controls  options  have
362              been used, --noquit might not have the intended effect.
363
364       -o <directory> or --output <directory>
365              Do  not display the presentation, but render it into a series of
366              PNG image files inside the specified directory. The images  will
367              be  generated  in  the current resolution as specified by the -g
368              option. This option is useful if the presentation is to be given
369              on  on a foreign PC with an old, broken or otherwise problematic
370              MuPDF/Xpdf/GhostScript installation: By generating images of the
371              PDF pages, is is made sure that no rendering bugs will happen on
372              the target system.
373
374       -O <mode> or --autooverview <mode>
375              Enables or disables automatic derivation of whether a page shall
376              or  shall  not  be  shown  on the overview page. This feature is
377              based on the fact that some LaTeX presentation packages tag  all
378              pages with a title (that can be read by Impressive with the help
379              of pdftk), except those that contain multiple reveal steps.
380              The following modes are available:
381              off
382                     Disables automatic overview mode. All pages will be shown
383                     on the overview page by default. This is also the default
384                     setting.
385              first
386                     All pages with a PDF title will be shown on the  overview
387                     page.  The  purpose  is  to  show  the  initial  state of
388                     multi-step slides on the overview page.
389              last
390                     All pages before a page with a PDF title will be shown on
391                     the overview page. The purpose is to show the final state
392                     of multi-step slides on the overview page.
393              Again, the mode may be  abbreviated  arbitrarily,  down  to  one
394              character, just like with the -c option above..
395
396       --overtime <ms>
397              Sets  the  duration  (in  milliseconds)  of  the  overview  page
398              zoom-in/zoom-out effects, without affecting the zoom or box-zoom
399              animation time. Default value: 250 ms.
400
401       -p <start>-<end> or --pages <start>-<end>
402              Using  this  option, the range of the page displayed can be nar‐
403              rowed down. The presentation will start at the first page in the
404              range.  All  pages outside of the range will not be shown on the
405              overview page and will not be cached. However, they can  be  en‐
406              tered manually when cycling through the presentation. Due to the
407              fact that these pages are uncached, preparation of  the  display
408              will take considerably longer.
409
410       -P <path> or --gspath <path>
411              This  option can be used to override the Xpdf / GhostScript path
412              autodetection. The full path to the executable of either  Ghost‐
413              Script  (gs or gs.exe) or Xpdf's pdftoppm utility must be speci‐
414              fied.
415
416       -q or --page-progress
417              If this option is enabled, Impressive  will  show  a  light-blue
418              semi-transparent  progress  bar at the bottom edge of the screen
419              that shows the position inside the presentation, i.e. the  rela‐
420              tion  between  the  current  page number and the total number of
421              pages.
422              If  the  -d/--duration  progress  bar  is   enabled   too,   the
423              --page-progress bar will be stacked above that.
424
425       --progress-last <number>
426              This  option  sets  the  page  number  at  which  the  slide the
427              --page-progress progress bar should end. This can be  useful  to
428              ignore backup slides.
429              This  option  does  not have any effect if -q/--page-progress is
430              not used.
431
432       -Q or --autoquit
433              If this option is specified, Impressive quits automatically when
434              trying  to  navigate to the page after the last page or the page
435              before the first page.
436              This option does not have any effect if --wrap is used.
437
438       -r <n> or --rotate <n>
439              Display all pages rotated by nx90 degrees clockwise. Try -r 1 or
440              -r  3 if there are problems with PDFs generated by LaTeX on some
441              Xpdf or GhostScript versions.
442
443       -s or --scale (image input only)
444              If a directory with image files is  used  as  input,  Impressive
445              will  scale  down images that are too big for the screen. But by
446              default, it will not scale up smaller images to fit the  screen;
447              it will leave a black border instead. This option overrides this
448              setting and enables upscaling of smaller images.
449
450       -s or --supersample (PDF input only)
451              This switch enables antialiasing by 4x supersampling instead  of
452              the  normal  multisampling  method  used by Xpdf or GhostScript.
453              While this usually degrades both visual quality and performance,
454              it may be necessary for circumventing white strips or moire-like
455              patterns in gradients.
456
457       -S <pixels> or --fontsize <pixels>
458              This option sets the size, in pixels, of the OSD font.  The  de‐
459              fault value is 14.
460
461       --spot-radius <pixels>
462              This option sets the initial radius of the spotlight, in pixels.
463              The default value is 64.
464
465       --time-display
466              This option enables display of the elapsed presentation time, as
467              if  the  T  key has been pressed immediately after startup. This
468              implies time tracking mode (--tracking option).
469
470       -t <trans1[,trans2...]> or --transition <trans1[,trans2...]>
471              Using this switch, the set of transitions Impressive  will  ran‐
472              domly draw at page changes can be specified. If only one transi‐
473              tion class is specified, this class will be used for  all  pages
474              that do not have another transition explicitly assigned in their
475              page properties. Multiple transitions have to  be  separated  by
476              commas;  they will be used in random order. The -l option can be
477              used to get a list of available transitions.
478
479       -T <ms> or --transtime <ms>
480              Sets the duration  (in  milliseconds)  of  page  transitions.  0
481              (zero) disables transitions altogether. Default value: 1000 ms.
482
483       --tracking
484              This  option  enables time tracking mode. In this mode, a report
485              of all pages visited with  their  display  duration,  enter  and
486              leave times will be written to standard output. This can be very
487              useful when preparing presentations.
488
489       -u <seconds> or --poll <seconds>
490              If this option is specified, the source file or  directory  will
491              be  checked  for changes regularly. If a change in the input PDF
492              file or any of the image files in the input image  directory  is
493              detected, the page cache will be flushed and the current page as
494              well as the info script will be  reloaded.  The  current  page's
495              transition  will be shown between the old and the new version of
496              the page.
497              The new PDF file must have at least as much  pages  as  the  old
498              one; also, it should have the same aspect ratio. If the input is
499              a directory, image files must not have disappeared.
500
501       -v or --verbose
502              This option makes Impressive more verbose, i.e.  it  will  print
503              slightly more informational messages than usual.
504
505       -V <pixels> or --overscan <pixels>
506              PDF files often contain tiny amounts of white borders around the
507              edges which look bad in screen presentations. To eliminate  this
508              problem,  Impressive uses "overscan": PDF files will not be ren‐
509              dered to fit the screen size exactly, but they will be  rendered
510              a  bit  larger  so  that  the  (possibly  broken) borders can be
511              cropped off. The amount of overscan, in screen  pixels,  can  be
512              set  with  this  option.  The  default  value is 3 pixels, which
513              should remove borders  in  most  presentations  at  most  common
514              screen resolutions without cropping the pages too much.
515
516       -w or --wrap
517              If  this option is set, Impressive will "wrap" over to the first
518              page after the last page. In other words, advancing to the  next
519              page  at the end of the presentation will restart the whole pre‐
520              sentation.
521
522       -W or --nowheel
523              By default, it is possible  to  change  pages  using  the  mouse
524              wheel.  This  option disables this behavior, which can be useful
525              to prevent spurious page changes if the mouse wheel is likely to
526              be moved by accident. In addition, it makes it possible to enter
527              zoom mode with the mouse wheel.
528              Note that this option only works properly if  the  default  con‐
529              trols  are  used. If the -e/--bind or -E/--controls options have
530              been used, --nowheel might not have the intended effect.
531
532       --windowed
533              Starts Impressive in windowed mode. See the discussion of the -f
534              option for details.
535
536       -x or --fade
537              This  option enables a smooth fade-in effect at the start of the
538              presentation and a fade-out effect just before Impressive quits.
539
540       -X or --shuffle
541              If this option is enabled, the input files will be shuffled into
542              random  order  before  starting the presentation. The individual
543              pages of PDF input files will  stay  in  their  original  order,
544              though, so this option is mainly useful for image presentations.
545
546       -y or --auto-auto
547              This option can be used together with --duration to have Impres‐
548              sive compute a page timeout (as with the --auto option) automat‐
549              ically.  This results in a presentation that runs automatically,
550              displaying each slide for the same time, so that the desired to‐
551              tal  duration will be reached (almost) exactly. One exception is
552              the runtime of videos, which is not taken into account.
553
554       --zbox-edge <pixels>
555              Sets the border size (in pixels when unzoomed) of  the  box-zoom
556              boxes' smooth edges. The default value is 1 pixel; it can be set
557              to zero, in which case the box-zoom area will have a hard edge.
558
559       -z <factor> or --zoom <factor>
560              Sets the scaling factor that is used in zoom mode. It can be any
561              real  value  above  1.0;  the default value is 2.0. Note that it
562              might not be possible to get high-quality zooming for large zoom
563              factors  due  to  hardware  restrictions. Furthermore, please be
564              aware that after leaving zoom mode, the  image  quality  of  the
565              normal  page display may be slightly degraded until another page
566              is displayed if a zoom factor other than 2.0 is used.
567
568       --zoomdarkness <percentage>
569              Specifies how much the non-selected parts of  the  screen  shall
570              become  darker  in box-zoom mode. The value is specified in per‐
571              cent, with 90 being the default. A value of zero would  mean  no
572              darkening  at  all (parts outside of the zoom box would still be
573              perfectly visible), and a value of 100 would make everything but
574              the selected region black.
575
576       -Z <ms> or --zoomtime <ms>
577              Sets  the  duration  (in milliseconds) of the zoom, box-zoom and
578              overview page zoom-in/zoom-out effects,  all  at  once.  Default
579              value: 250 ms.
580              If  separate animation time settings for overview zoom and zoom/
581              box-zoom are desired, the -Z/--zoomtime option must be specified
582              before the --overtime option.
583
584       --cachefile <filename>
585              Activates  persistent  cache  mode and specifies the name of the
586              cache file to use.
587

ARGUMENTS

589       Following the options, the input file name(s) must be specified. Recog‐
590       nized  file  types are PDF, image files (JPEG, PNG, TIFF, BMP, PGM/PPM)
591       and video files (AVI, MOV/MP4, MKV/WebM, OGV, MPEG, M2TS, FLV). If  the
592       name  of  a  directory is put on the command line, all recognized image
593       files (no PDF files!) in this directory will be played in  alphanumeric
594       order (case-insensitive).
595
596       In  addition, Impressive can use a text file containing a list of files
597       or directories to show: This text file must contain at  most  one  file
598       name  per  line;  every character after a hash sign (#) is treated as a
599       comment and will be ignored. If such a comment is put on the same  line
600       as  an  image file name, it will be used as the page's title. List file
601       names must be prefixed with an at sign (@) on the  command  line,  e.g.
602       impressive @my_list_file.
603
604       Impressive  will  also  expand  wild-card  characters (* and ?) if this
605       isn't already done by the shell, but apart from that, it will  not  re‐
606       order  the  arguments.  Thus,  it  will show the documents in the order
607       specified at the command line.
608
609       If video files are specified on the command line, Impressive  generates
610       presentation  pages for them just like it does for image files. If FFm‐
611       peg or MPlayer are installed, the page will be shown as a screenshot of
612       the  first  video  frame.  When entering such a page, the video will be
613       played back if a suitable player (MPlayer, or  omxplayer  on  Raspberry
614       Pi) is installed.
615
616    LAYOUT OPTIONS
617       The  OSD  layout option (-L/--layout) accepts a string with comma-sepa‐
618       rated key=value pairs. The following keywords are recognized:
619       alpha
620              The opacity of the OSD text, either as  a  floating-point  value
621              between 0 and 1 or a percentage between 2 and 100.
622       margin
623              The distance (in pixels) of the OSD text to the screen borders.
624       time
625              The position of the timer.
626       title
627              The position of the page title in overview mode.
628       page
629              The position of the page number in overview mode.
630       status
631              The position of the status line.
632       The  position  specifications  are composed by one character that indi‐
633       cates whether the text shall be displayed at the top (T) or bottom  (B)
634       edge  of  the  screen and one character that indicates whether it shall
635       appear on the left (L), on the right (R) or centered (C).
636
637       For example, the default OSD layout equals the following option string:
638           -L margin=16,alpha=1,time=TR,title=BL,page=BR,status=TL
639
640    EXAMPLES
641       The following examples illustrate some typical command lines. They  as‐
642       sume  that  Impressive  can be run by simply typing "impressive" on the
643       command line. Depending on how Impressive is installed, this has to  be
644       substituted  with  the actual way to run Impressive (e.g. "python ~/im‐
645       pressive/impressive_dev.py" for a fresh SVN checkout). Furthermore, the
646       file  "demo.pdf"  is  used as the document to show here; obviously this
647       has to be replaced by the path to the actual PDF file too.
648
649       In the simplest case, Impressive is run directly with the name  of  the
650       file  to  show and no further parameters. This will start a full-screen
651       presentation with all settings at their defaults:
652           impressive demo.pdf
653
654       To just quickly check a slide deck, it might make sense to run  Impres‐
655       sive in a small window and not full-screen. This can be done with some‐
656       thing like
657           impressive -f -g 800x600 demo.pdf
658
659       Impressive can also be used in digital signage scenarios, like displays
660       in  shop  windows  with  a permanent slideshow. This can be achieved by
661       having Impressive advance to the next page automatically after a speci‐
662       fied  time  (e.g.  10  seconds)  and re-start the presentation from the
663       start after the last slide:
664           impressive -a 10 -w demo.pdf
665

USAGE

667       On startup, Impressive will display a black  screen  with  the  program
668       logo  at the center. If caching is enabled, but background rendering is
669       disabled, all pages of the presentation will then be rendered  once.  A
670       bar in the lower half of the screen displays the progress of this oper‐
671       ation. Any key or mouse click (except for those that  quit  Impressive,
672       typically  Q  and Esc) skips this process, with the effect that Impres‐
673       sive will render the remaining pages on demand. Please  note  that  the
674       overview  page  will not be complete until every page has been rendered
675       at least once. In other words, if the precaching process  was  skipped,
676       placeholders  will  be  displayed for all pages that have not been ren‐
677       dered yet. By default, Impressive will build up the cache in the  back‐
678       ground while the presentation runs. Thus, the progress bar will not ap‐
679       pear and the preparation will only take the amount of time required  to
680       render  the first two pages of the presentation. After this initializa‐
681       tion process, Impressive will switch to the  first  page  directly  and
682       without any transition.
683

DEFAULT CONTROLS

685       The  keyboard  and  mouse  controls used by Impressive are configurable
686       (with very few exceptions). The default controls are as follows:
687
688       Esc key
689              Return from the currently active special mode  (zoom,  box-zoom,
690              overview,  spotlight,  highlight boxes); if no such special mode
691              is active, quit Impressive altogether.
692
693       Q key or Alt+F4
694              Quit Impressive immediately.
695
696       LMB (left mouse button), mouse wheel down, Page Down key,  Cursor  Down
697       key, Cursor Right key or Spacebar
698              Go to the next page (using a transition).
699
700       RMB  (right  mouse button), mouse wheel up, Page Up key, Cursor Up key,
701       Cursor Left key or Backspace key
702              Go to the previous page (using a transition).
703
704       Home key / End key
705              Go directly to the first or last page of the presentation.
706
707       Ctrl key (modifier)
708              If one of the page navigation keys (Page Up/Down,  Cursor  keys,
709              Space,  Backspace,  Home,  End) is pressed while the Ctrl key is
710              held down, the destination page  will  be  entered  immediately,
711              without a transition.
712
713       L key
714              Return  to  the last (most recently displayed) page. This can be
715              used to toggle back and forth between two pages.
716
717       F key
718              Toggle fullscreen mode.
719
720       Tab key
721              Zoom back to the overview page. While in overview mode,  a  page
722              can be selected with the mouse and activated with the left mouse
723              button. The right or middle mouse button or the  Tab  key  leave
724              overview mode without changing the current page.
725
726       MMB (middle mouse button)
727              In  normal  display  mode,  this acts like the Tab key: it zooms
728              back to the overview page. If the page is zoomed in, it will re‐
729              turn to normal mode.
730
731       LMB over a PDF hyperlink
732              Jump  to  the page referenced by the hyperlink. Two types of hy‐
733              perlinks are supported: Links that point to some other  page  of
734              the  same document, and URL hyperlinks like Web links and e-mail
735              addresses. This feature is only available if pdftk is installed.
736              Furthermore,  xdg-open from the freedesktop.org Portland project
737              is required for URL links to work.  Please note that the  hyper‐
738              link feature will not work properly when pages are rotated.
739
740       click&drag with LMB (left mouse button)
741              Create  a new highlight box. While at least one highlight box is
742              defined on the current page, the page itself will be shown in  a
743              darker,  blurry  and (if supported by the graphics hardware) de‐
744              saturated rendition. Only the highlight boxes will be  displayed
745              in their original lightness, sharpness and color saturation.
746              If  a page with highlight boxes is left, the boxes will be saved
747              and restored the next time this page is shown again.
748
749       click&drag with Ctrl+LMB (left mouse button)
750              Draw a box to zoom into. This enters so-called "box-zoom"  mode,
751              where  the selected region is zoomed into full view and anything
752              else is displayed in much darker colors (but not blurred like in
753              highlight  box mode). The page contents will be re-rendered in a
754              higher resolution, if possible (limited to what has been config‐
755              ured  with  the  --maxzoom command-line option, and the graphics
756              hardware's maximum supported texture size). To leave  this  mode
757              again, use RMB, MMB or Esc.
758              Note  that  box-zoom  mode  is mutually exclusive with highlight
759              boxes and the spotlight; if any of those  is  currently  active,
760              it's not possible to draw a zoom box.
761
762       RMB (right mouse button) over a highlight box
763              If  the  right mouse button is clicked while the mouse cursor is
764              above a highlight box, the box will be removed. If the last  box
765              on a page is removed, the page will turn bright and sharp again.
766
767       A key
768              Toggle automatic slideshow mode.
769              If an automatic presentation has been started with the -a/--auto
770              option, it is temporarily disabled until  this  key  is  pressed
771              again.  It  is  not  automatically re-enabled after changing the
772              page. If the -a/--auto has not been used, an automatic presenta‐
773              tion  with  a  timeout of 30 seconds is started when this key is
774              pressed for the first time.
775              Note that if a page has a timeout PageProp, the specified  time‐
776              out  is  always  in effect when the page is entered, even if the
777              automatic slideshow is otherwise disabled.
778
779       S key
780              Save the info script associated with the  current  presentation.
781              The main purpose for this is to permanently save highlight boxes
782              or keyboard shortcuts, so they will be restored  the  next  time
783              this presentation is started.
784
785       T key
786              Activate  or deactivate the time display at the upper-right cor‐
787              ner of the screen. If the timer  is  activated  while  the  very
788              first  page  of  the  presentation  is  shown, it activates time
789              tracking mode, just as if the command-line option --tracking had
790              been specified.
791
792       R key
793              Reset the presentation timer.
794
795       C key
796              Removes ("clears") all highlight boxes from the current page.
797
798       Return key or Enter key
799              Toggle spotlight mode. In this mode, the page is darkened in the
800              same way as if highlight boxes are present, but instead  of  (or
801              in  addition to) the boxes, a circular "spotlight" will be shown
802              around the mouse cursor position, following every motion of  the
803              mouse cursor.
804
805       + / - key, 9 / 0 key or mouse wheel in spotlight mode
806              Adjust the spotlight radius.
807
808       Ctrl+9 or Ctrl+0 keys
809              Resets the spotlight radius to the default value, i.e. the value
810              that has been set up by the radius page property, the --spot-ra‐
811              dius command-line option or Impressive's built-in default.
812
813       7 / 8 key
814              Adjust the amount of darkening applied to the page in spotlight,
815              highlight box or box-zoom mode.
816
817       Ctrl+7 or Ctrl+8 keys
818              Resets the amount of darkening in spotlight, highlight  box  and
819              box-zoom  mode  to  the default values, i.e. the value that have
820              been set up by the darkness and  zoomdarkness  page  properties,
821              the  --darkness  and  --zoomdarkness command-line options or Im‐
822              pressive's built-in defaults.
823
824       Z key
825              Toggle zoom mode. When this key is first  pressed,  the  current
826              page  will  zoom  in. The page will be displayed at double size,
827              but in its original resolution (i.e. it will be blurry). Impres‐
828              sive will re-render the page at the new resolution if the graph‐
829              ics hardware supports it. During this time, Impressive will  not
830              accept  any  input, so don't even think about clicking the mouse
831              or pressing keys before the image gets crisp again.
832              In zoom mode, all other functions will work as normal. Any oper‐
833              ations that leave the current page, such as flipping the page or
834              entering the overview screen, will leave zoom mode, too.
835
836       [ / ] key
837              Adjust the gamma value of the display (might not be supported on
838              every hardware).
839
840       { / } key
841              Adjust the black level of the display (might not be supported on
842              every hardware).
843
844       \ key
845              Revert gamma and black level back to normal.
846
847       O key
848              This will toggle the "visible on overview page" flag of the cur‐
849              rent  page.  The  result will not be visible immediately, but it
850              can be saved to the info script (using the S key) and will be in
851              effect the next time the presentation is started.
852
853       I key
854              This  will  toggle  the  skip  flag  of the current page. A page
855              marked as skipped will not be reachable with the normal forward/
856              backward navigation keys.
857
858       B / W key or . (dot) / , (comma) key
859              Fade  to  black or white, respectively. This feature can be used
860              if a whiteboard or blackboard in front of the projection area is
861              to  be  used  during the presentation. Using these two keys, the
862              screen will fade into a solid color. On any  keypress  or  mouse
863              click, it will fade back to normal. These keys are not available
864              in overview mode.
865
866       click&drag with MMB (middle mouse button) or RMB (right  mouse  button)
867       in zoom mode
868              Move the visible part of the page in zoom mode.
869
870       mouse wheel up / down in zoom mode, U key
871              Zoom  a bit in or out. When zoomed out fully, zoom mode is left;
872              note that in the default configuration,  this  means  that  when
873              trying  to  zoom out even more using the wheel, the page is left
874              instead. This is different if the -W/--nowheel option  is  used,
875              where page navigation using the mouse wheel is disabled, and the
876              wheel is always used for zooming. In this mode,  the  wheel  can
877              also be used to enter zoom mode in the first place.
878              Note that changing the zoom level on the fly with the wheel does
879              not make Impressive automatically re-render the page at a higher
880              resolution  to  increase  the level of detail. To do this, the U
881              key needs to be pressed manually when the desired zoom level has
882              been set up.
883
884       Cursor keys in overview mode
885              Navigate through pages.
886
887       Alt+Tab keys
888              If  Impressive  is  in fullscreen mode, the window will be mini‐
889              mized so that other applications can be used.
890
891       Any alphanumeric (A-z, 0-9) or function key (F1-F12) that is not  bound
892       to a specific action mentioned above or configured by the user (see be‐
893       low) can be used to assign shortcuts to pages that  require  quick  ac‐
894       cess.  If one of the keys is pressed together with Shift, the currently
895       displayed page is associated with this key. To recall the  page  later,
896       it  is  sufficient  to  press  the shortcut key again. Shortcuts can be
897       stored permanently with the S key.
898

CONTROL CONFIGURATION

900       As already mentioned in the previous chapter, the  keyboard  and  mouse
901       bindings  of  Impressive  can be widely configured. The only exceptions
902       are the Alt+F4 and Alt+Tab key combinations that will  always  quit  or
903       minimize Impressive, respectively. For everything else, there is a ver‐
904       satile configuration system in place; the  controls  described  in  the
905       previous section are merely the defaults.
906
907       Impressive's  control  system works by associating events with actions.
908       An event is a key on the keyboard, a mouse  button  or  a  mouse  wheel
909       movement.  An  action is something that is performed by Impressive as a
910       result of an event, like going to the next page, switching to  overview
911       mode  or quitting the program. The association of an event to an an ac‐
912       tion is called a binding. Multiple events can be bound to the same  ac‐
913       tion (like the page down and space keys in the default setting, both of
914       which go to the next page); furthermore, multiple actions can be  bound
915       to  the same event. In fact, bindings do not associate events with sin‐
916       gle actions at all, but with chains of actions. Only the  first  action
917       in  the  chain  that  matches (i.e. makes sense in) the current context
918       will be executed if the event fires; all other actions will be ignored.
919       If no action matches, no action will be performed and the event will be
920       ignored.
921
922       One example of such an action chain is the default binding for the left
923       mouse button, which draws a highlight box if the mouse cursor moved, or
924       visits a hyperlink if the mouse cursor hovers over one, or goes to  the
925       next page if none of the other conditions are met.
926
927       Both  events  and actions have mnemonic names that are used in the com‐
928       mand-line options and configuration files used for setting up bindings.
929       Event  and  actions  names  are  generally case-insensitive, though the
930       canonical notation is lowercase.
931       If an event or action specified on the command line or in a  configura‐
932       tion  file  is  not  recognized by Impressive, an error message will be
933       written to the console and the offending event or action  will  be  ig‐
934       nored. Errors in control configuration are thus always non-fatal.
935
936    SUPPORTED EVENTS
937       Keyboard  events are generally named after the keys they refer to. Con‐
938       sequently, the events a to z and 0 to 9 mean the respective letter  and
939       number  keys  on the main keyboard, f1 to f12 are the function keys and
940       kp0 to kp9 are the number keys on the numerical keypad.  All  of  these
941       are raw scancodes, which has two implications: First, the key names are
942       not internationalized and refer to the US keyboard layout (e.g.  the  Z
943       key  on  a  German  or French keyboard will actually react to the event
944       name y or w); second, modifiers will be ignored as well (e.g.  the  nu‐
945       merical keypad will always generate the kpX scancodes, even if Num Lock
946       is off).
947
948       The mnemonic names for the other keyboard events are as follows (in al‐
949       phabetic   order):   ampersand,  asterisk,  at,  backquote,  backslash,
950       backspace, break, capslock, caret, clear,  comma,  down,  end,  escape,
951       euro,  exclaim, greater, hash, help, home, insert, kp_divide, kp_enter,
952       kp_equals,   kp_minus, kp_multiply, kp_plus, lalt, last,  lctrl,  left,
953       leftbracket, leftparen, less, lmeta, lshift, lsuper, menu, minus, mode,
954       numlock, pagedown, pageup, pause, period, plus, power, print, question,
955       quote,  quotedbl, ralt, rctrl, return, right, rightbracket, rightparen,
956       rmeta, rshift, rsuper, scrollock, semicolon, slash, space, sysreq, tab,
957       underscore,  up.  The events prefixed with kp_ refer to keys on the nu‐
958       merical keypad. Other than that, the names  should  be  reasonably  de‐
959       scriptive,  so  they  will  not be described futher at this point. Also
960       note that not all keyboards and platforms support  the  full  range  of
961       keys defined in this list.
962
963       Mouse event names are mapped as follows:
964
965       lmb
966              the left mouse button
967
968       mmb
969              the middle mouse button
970
971       rmb
972              the right mouse button
973
974       wheelup
975              scrolling the mouse wheel upwards
976
977       wheeldown
978              scrolling the mouse wheel downwards
979
980       btnX (i.e. btn6, btn7, ...)
981              additional  mouse  buttons,  the mapping of which is device-spe‐
982              cific; use --evtest to see which button is which
983
984       The event names can be prefixed with the three  modifiers  ctrl+,  alt+
985       and  shift+  to make the event valid only if the specified set of modi‐
986       fiers is pressed as well.  This  works  for  both  keyboard  and  mouse
987       events.  Multiple  modifiers  can be combined, but the order must match
988       the one mentioned in this paragraph. For  example,  ctrl+shift+x  is  a
989       valid event name, while shift+ctrl+x is not.
990
991       A  simple  way  to determine the name associated with an event is using
992       Impressive's "Event Test Mode" by invoking impressive --evtest. In this
993       mode,  the  name of each incoming event will be displayed on the screen
994       (and logged to standard output), which makes it possible  to  determine
995       event names by experimentation.
996
997    SUPPORTED ACTIONS
998       The  following  list describes all actions supported by Impressive, to‐
999       gether with the conditions under which they will match. Note that  most
1000       actions  will not match in overview mode and during video playback, un‐
1001       less mentioned otherwise in the description.
1002
1003       auto-start
1004              (Re-)enable automatic presentation mode. If the current page has
1005              no  timeout PageProp and no -a/--auto option has been specified,
1006              an automatic presentation is started with a 30-second  page  in‐
1007              terval.
1008
1009       auto-stop
1010              Disable  automatic  presentation mode. If the current page has a
1011              timeout PageProp or an -a/--auto option has been specified,  the
1012              timeout for the current page is stopped.
1013              The  automatic presentation stays disabled after changing pages,
1014              unless a timeout PageProp is  specified  for  the  target  page,
1015              which will take precedence over the otherwise disabled automatic
1016              presentation mode.
1017
1018       auto-toggle
1019              Disables or (re-)enables automatic presentations,  depending  on
1020              the current state.
1021
1022       box-add
1023              Draw  a highlight box if the mouse has been moved since the but‐
1024              ton has been pressed down. This action must only be bound  to  a
1025              mouse button event, otherwise it will not function properly.
1026
1027       box-clear
1028              Removes all boxes from the current page.
1029
1030       box-remove
1031              Removes  the  highlight  box under the mouse cursor, if there is
1032              any.
1033
1034       box-zoom
1035              Define a region to zoom into by drawing a rectangle. This action
1036              must  only  be  bound to a mouse button event, otherwise it will
1037              not function properly.
1038
1039       box-zoom-exit
1040              If in box-zoom (but not normal zoom) mode, leave box-zoom mode.
1041
1042       fade-less, fade-more
1043              Decrease or increase the amount  of  darkening  applied  to  the
1044              background in spotlight or highlight box mode.
1045
1046       fade-reset
1047              Resets  the  background  darkness  in spotlight or highlight box
1048              mode to its default value.
1049
1050       fade-to-black, fade-to-white
1051              Fades to a black or white screen. Once the screen is faded  out,
1052              any  event except those bound to the quit action will just leave
1053              fade mode and not perform its assigned action.
1054
1055       fullscreen
1056              Toggle fullscreen mode on platforms that support it.
1057
1058       gamma-decrease, gamma-increase
1059              Decrease or increase the gamma level (i.e. roughly  the  bright‐
1060              ness) of the display on platforms that support it.
1061
1062       gamma-bl-decrease, gamma-bl-increase
1063              Decrease or increase the black level of the display on platforms
1064              that support it.
1065
1066       gamma-reset
1067              Reset the gamma and black level settings to their defaults.
1068
1069       goto-end, goto-end-notrans
1070              Go to the last page of the presentation, with or without a tran‐
1071              sition.
1072
1073       goto-last, goto-last-notrans
1074              Go  to the last (i.e. most recently) visited page, with or with‐
1075              out a transition.
1076
1077       goto-next, goto-next-notrans
1078              Go to the following page of the presentation, with or without  a
1079              transition.
1080
1081       goto-prev, goto-prev-notrans
1082              Go  to  the previous page of the presentation, with or without a
1083              transition.
1084
1085       goto-start, goto-start-notrans
1086              Go to the first page of the  presentation,  with  or  without  a
1087              transition.
1088
1089       hyperlink, hyperlink-notrans
1090              Navigate  to  the  hyperlink under the mouse cursor, if there is
1091              one. If the hyperlink is a reference to another page of the pre‐
1092              sentation, this page will be activated with or without a transi‐
1093              tion. If the hyperlink refers to an  external  object  (e.g.  an
1094              URL), it will be opened externally, if supported by the system.
1095
1096       overview-confirm
1097              When  in overview mode, confirm the selection and leave overview
1098              mode, navigating to the selected page.
1099
1100       overview-down, overview-up
1101              When in overview mode, select the page above or below  the  cur‐
1102              rently selected one in the grid.
1103
1104       overview-enter
1105              When  not in overview mode, zoom out of the current page, enter‐
1106              ing overview mode.
1107
1108       overview-exit
1109              When in overview mode, leave overview mode, zooming back to  the
1110              page that has been displayed before entering overview mode.
1111
1112       overview-next, overview-prev
1113              When in overview mode, select the following or previous page.
1114
1115       quit
1116              Quits  Impressive  immediately.  This action is available in all
1117              modes.
1118
1119       save
1120              Save or update the Info Script for the current presentation.
1121
1122       spotlight-enter
1123              If spotlight mode is not active, enable spotlight mode.
1124
1125       spotlight-exit
1126              If spotlight mode is active, deactivate spotlight mode.
1127
1128       spotlight-grow, spotlight-shrink
1129              When in spotlight mode, increase or decrease the radius  of  the
1130              spotlight.
1131
1132       spotlight-reset
1133              When  in  spotlight  mode, reset the spotlight radius to the de‐
1134              fault value.
1135
1136       time-reset
1137              Reset the presentation timer.
1138
1139       time-toggle
1140              Toggle on-screen display of the current  presentation  time,  or
1141              wall-clock  time  if the --clock option is used. If this is done
1142              at the start of the presentation, before the first page has been
1143              left,  time  tracking  mode will be enabled, like the --tracking
1144              option would have done.
1145
1146       toggle-overview
1147              This toggles the "page is visible on overview screen"  flag  for
1148              the current page. This will not have an immediate effect, but it
1149              can be saved to an Info Script.
1150
1151       toggle-skip
1152              This toggles the "skip page when navigating with  goto-prev  and
1153              goto-next" flag for the current page.
1154
1155       video-pause
1156              In video playback mode, this pauses or unpauses playback.
1157
1158       video-seek-backward-10,   video-seek-backward-1,  video-seek-forward-1,
1159       video-seek-forward-10
1160              In video playback mode, seek forward or backward by 1 or 10 sec‐
1161              onds.
1162
1163       video-step
1164              In video playback mode, if playback is paused, advance one frame
1165              in the video.
1166
1167       video-stop
1168              In video playback mode, stop playback and return to normal  page
1169              display mode.
1170
1171       zoom-enter
1172              If not in zoom mode, enter zoom mode with the zoom level config‐
1173              ured with the -z/--zoom option.
1174
1175       zoom-exit
1176              If in zoom or box-zoom mode, leave that mode.
1177
1178       zoom-in, zoom-out
1179              Slightly increase or decrease the current zoom level. This  does
1180              not  change  the  page's rendering resolution, it only zooms the
1181              visible part of the screen in or out, centered around the  mouse
1182              cursor's  position.  Zoom mode is left automatically if the zoom
1183              level goes to down to 1x; conversely, zoom mode is entered  when
1184              calling zoom-in while zoom mode is not active.
1185
1186       zoom-pan
1187              If  in  zoom  mode,  the  visible  area of the page can be moved
1188              around with the mouse while the key or mouse button of the asso‐
1189              ciated event is held down.
1190
1191       zoom-update
1192              If in zoom mode, re-render the current page in a resolution that
1193              best fits the current zoom level, up to the limits of the graph‐
1194              ics  hardware  or  the  --maxzoom setting. This only needs to be
1195              done explicitly when zooming with the zoom-in action; zoom-enter
1196              and box-zoom do this automatically.
1197
1198    BINDING SYNTAX
1199       The  arguments  of the -e/--bind command-line option have the following
1200       basic syntax:
1201           <event> [,<event2>...] <operator> <action> [,<action2>...]
1202       In other words, it is a sequence of event  names  joined  with  commas,
1203       followed  by  an  operator  (see  below) and a sequence of action names
1204       joined with commas. Multiple such binding statements  can  be  combined
1205       into one argument by joining them with a semicolon (;).
1206
1207       The used operator defines in which way the action list shall modify the
1208       bindings of the referenced events:
1209
1210       = (equals sign), += (plus sign and equals sign)
1211              The specified actions will be added to the bindings of the spec‐
1212              ified events. In other words, event=action1,action2 does exactly
1213              the same as event=action1; event=action2.
1214
1215       := (colon and equals sign)
1216              The specified actions will replace the bindings of the specified
1217              events.
1218
1219       -= (minus sign and equals sign)
1220              The  specified  actions will be removed from the bindings of the
1221              specified events. For example, to make the Esc key  in  the  de‐
1222              fault bindings not clear highlight boxes, but otherwise preserve
1223              its original functionality, escape -= box-clear can be used.
1224
1225       Other than bindings, a statement can also contain one of the  following
1226       special commands:
1227
1228       clearall
1229              Clears all current bindings.
1230
1231       defaults
1232              Discards  all  current bindings and (re-)establishes the default
1233              bindings.
1234
1235       include <filename>
1236              Loads and executes a control configuration file with a specified
1237              name.
1238
1239       The  syntax for the configuration files used with the -E/--controls op‐
1240       tion or include statement is exactly the same as for the ad-hoc config‐
1241       uration option, except that individual bindings can be written on indi‐
1242       vidual lines instead of joining them together to  a  single  long  line
1243       with semicolons. In addition, everything following a hash sign (#) on a
1244       line will be ignored as a comment.
1245
1246       One practical example for such a configuration file can be the  follow‐
1247       ing:  The  author of this program uses a cheap presentation remote con‐
1248       trol device that has four cursor keys, one "enter"  key  and  a  slider
1249       that  switches between keyboard and mouse mode. Mouse mode works as ex‐
1250       pected, but what it does in keyboard mode is quite peculiar: the up and
1251       down  keys act like Page-Up and Page-Down keys on a keyboard, the right
1252       arrow key sends the letter B to the computer, and the left key  toggles
1253       between  Esc and F5 each time it's pressed. The following configuration
1254       file allows basic navigation and access to overview mode with this  de‐
1255       vice:
1256
1257             clearall  # don't use the default bindings
1258             lmb = quit  # quit Impressive by clicking in mouse mode
1259             # everything else uses keyboard mode:
1260             return = overview-enter, overview-confirm  # toggle overview mode
1261             escape, f5 = overview-prev, goto-prev
1262             b = overview-next, goto-next
1263             pageup = overview-up, goto-prev
1264             pagedown = overview-down, goto-next
1265
1266       To  get  a better idea of how the control configuration system works in
1267       practice, it's recommended to study the  output  of  impressive  --con‐
1268       trol-help  -  this  not only gives a concise overview of all events and
1269       actions, but also a full dump of Impressive's default bindings that can
1270       be used as a starting point for own customizations.
1271

INFO SCRIPTS

1273       Impressive  offers a powerful way to customize individual presentations
1274       using so-called info scripts. An info script is a text file having  the
1275       same  name  and  located in the same directory as the presentation file
1276       itself, except for the additional suffix .info.  Thus,  a  presentation
1277       file  called BrandNewProduct.pdf would have a info script with the name
1278       BrandNewProduct.pdf.info. If multiple arguments were specified  on  the
1279       command line, the info script will be called just .info (a dot file, so
1280       to speak). If a directory name was specified as the only argument,  ei‐
1281       ther a file called DirectoryName.info or a file called .info inside the
1282       directory will be used, depending on whether a path separator was spec‐
1283       ified  at  the end of the directory name or not - Impressive simply ap‐
1284       pends .info to whatever the input path name was.
1285       In any case, the default file name can be overridden by the -I  command
1286       line option.
1287
1288       Info  scripts  are  actually Python scripts with full access to Impres‐
1289       sive's global data structures and functions. (It  is  possible,  though
1290       heavily  discouraged, to write real interactive applications using info
1291       scripts.) This has some good and bad side effects. The bad news  first:
1292       The info scripts must be compatible with the Python version used by Im‐
1293       pressive itself; it's best to write them in  a  way  that's  compatible
1294       with  both Python 2.7 (with the __future__ imports print_function, uni‐
1295       code_literals and division) and Python  3.x.  Furthermore,  there's  no
1296       built-in  security;  in  other  words: don't trust info scripts you re‐
1297       ceived from somebody else. The good news, however,  is  that  they  can
1298       modify  a  broad  range  of settings concerning Impressive. This manual
1299       will only cover the most basic ones.
1300
1301    PAGE PROPERTIES
1302       The main part of an info script defines the properties of each page. At
1303       the moment, the following properties are defined:
1304
1305       title
1306              Each  page  can have a title that is displayed in the Impressive
1307              window's title bar. If there is no title explicitly specified in
1308              the  info  script,  the title of the page will be extracted from
1309              PDF metadata if pdftk is installed, or the image file name  will
1310              be used if the presentation is an image slideshow.
1311
1312       transition
1313              With  this property, the transition class to be used for render‐
1314              ing the transition to this page (i.e. between the previous  page
1315              and  this  page)  can be specified. For pages lacking this prop‐
1316              erty, random transitions will be chosen.  A  list  of  available
1317              transition classes can be obtained with impressive -l.
1318
1319       transtime
1320              This property overrides the global transition time parameter (-T
1321              at the command line). It contains the integer time (in millisec‐
1322              onds) the transition to this page shall take.
1323
1324       overview
1325              This  property  holds  a  boolean value (0/False or 1/True) that
1326              specifies whether the page shall be  included  in  the  overview
1327              page.  If  this  property  isn't  specified, it is assumed to be
1328              True.
1329
1330       skip
1331              This boolean property can be set to 1/True if the page shall  be
1332              skipped during the presentation.
1333              Pages  with overview:True, skip:False will be accessible both by
1334              cycling through the pages and using the overview page,
1335              pages with overview:True, skip:True will be silently skipped  in
1336              the  normal  page cycle, but remain accessible from the overview
1337              page,
1338              pages with overview:False, skip:False will appear in the  normal
1339              cycle, but not on the overview page
1340              and  pages with overview:False, skip:True will not be accessible
1341              at all.
1342
1343       next
1344              This property can be set to the number of the page that shall be
1345              shown  after  this page. This can be used to skip a lot of pages
1346              without setting the skip property on each of those, or to create
1347              a  loop  that  can only be escaped by using the overview page or
1348              bookmarks.
1349
1350       prev
1351              This property can be set to the number of the page that shall be
1352              shown  when navigating from this page to the previous page (e.g.
1353              using the right mouse button or the Page-Up key in  the  default
1354              mappings).
1355
1356       boxes
1357              This  property  stores a list of highlight box coordinates. Nor‐
1358              mally, there is no need to edit this by hand, as Impressive han‐
1359              dles this automatically if the S key is pressed.
1360
1361       timeout
1362              If  a timeout property is present and the page is shown, Impres‐
1363              sive will automatically switch to the next page after the speci‐
1364              fied  number of milliseconds. Normally, the timeout will only be
1365              effective the first time the page is shown unless wrap  mode  is
1366              used  (command-line option -w or --wrap). This restriction makes
1367              it possible to create self-running presentations with individual
1368              per-page timeouts.
1369
1370       radius
1371              This  property  takes an integer value that, if defined, will be
1372              used to set a new spotlight radius every time the  page  is  en‐
1373              tered.  This  overrides  the  current  setting as defined by the
1374              --spot-radius command line option or run-time adjustments.  Note
1375              that  the value is not reset to the default value after the page
1376              has been left again.
1377
1378       darkness
1379              This property takes  an  integer  or  floating-point  percentage
1380              value that, if defined, will be used to set the background dark‐
1381              ness in spotlight or highlight box mode each time  the  page  is
1382              entered.  This  overrides  the current setting as defined by the
1383              --darkness command line option  or  run-time  adjustments.  Note
1384              that  the value is not reset to the default value after the page
1385              has been left again.
1386
1387       zoomdarkness
1388              This property takes  an  integer  or  floating-point  percentage
1389              value that, if defined, will be used to set the background dark‐
1390              ness in box-zoom mode each time the page is entered. This  over‐
1391              rides  the current setting as defined by the --zoomdarkness com‐
1392              mand line option or run-time adjustments. Note that the value is
1393              not  reset  to  the  default  value after the page has been left
1394              again.
1395
1396       comment
1397              This property can hold a string with a single line of text  that
1398              will  be displayed on screen while the page is shown. Display of
1399              this text can not be disabled.
1400
1401       sound
1402              Specifies the file name of  a  sound  file  to  be  played  (via
1403              MPlayer) when the page is first entered. Once started, the sound
1404              will be played until its end is reached, another sound or  video
1405              is played, or Impressive is exited.
1406
1407       video
1408              Specifies  the  file  name of a video file to be played when the
1409              page is first entered. The video will be displayed  full-screen.
1410              Any  key  or mouse click stops playback, except the cursor keys,
1411              which are used to seek in the video file, and space,  which  can
1412              be used to pause playback.
1413              Please not that this function is still somewhat experimental. It
1414              uses an external player application (MPlayer,  or  omxplayer  on
1415              Raspberry Pi) to perform the actual playback, and embeds it into
1416              Impressive's window.
1417
1418       always
1419              If this property is present and set to 1 or True, the media file
1420              specified  in the sound or video properties will be played every
1421              time the page is entered, not just the first time.
1422
1423       progress
1424              If this property is set to zero, the presentation progress  bars
1425              (which  are set up with the -d/--duration, -q/--page-progress or
1426              -k/--auto-progress command line switches) will not be  shown  on
1427              this  page.  In  practice, it might be useful to hide the bar(s)
1428              from the first page so that they are not visible during the  in‐
1429              troduction.
1430
1431       reset
1432              If  this  property  is set to 1 or True, the timer will be reset
1433              each time this page is left, just as if the R has been  pressed.
1434              If  the special value 2 or FirstTimeOnly is used, the reset will
1435              only take place if the page was shown for the first time. Again,
1436              this  is particularly useful on the first page: A combination of
1437              progress:False, reset:FirstTimeOnly makes it possible to set  up
1438              the presentation long before it actually begins - the first page
1439              can be showed as long as desired, actual timing  starts  at  the
1440              second page.
1441
1442       rotate
1443              This  property  is  a per-page override of the global -r command
1444              line option: It specifies how the  page  shall  be  rotated,  in
1445              90-degree steps clockwise.
1446
1447       OnEnter, OnLeave, OnEnterOnce, OnLeaveOnce
1448              These  properties can contain a Python callable (i.e. a function
1449              reference or lambda expression) that is executed when  the  page
1450              is  entered  or  left.  The ~Once variants will only be executed
1451              when the page is  entered  or  left  for  the  first  time.  The
1452              callable  must  not take any arguments. This feature can be used
1453              to associate arbitrary Python code with specific pages, for  ex‐
1454              ample to execute external programs.
1455              Warning:  Lambda expressions cannot be properly processed by the
1456              Info Script save function  (S  key).  If  Impressive  encounters
1457              lambda  expressions  when  saving, it will remove them. In addi‐
1458              tion, it will not overwrite the original info script, but gener‐
1459              ate  an  extra  file  that  needs to be merged with the original
1460              script by hand.
1461
1462       keys
1463              This property can be assigned a dictionary that maps alphanumer‐
1464              ical keys to Python functions. For example, 'keys': { 'x': Some‐
1465              Function } will invoke SomeFunction() if the lowercase character
1466              'x'  is  typed  while the page is displayed. Regarding the func‐
1467              tions, the same restrictions as for the  OnEnter/OnLeave  family
1468              apply:  the  function  must  not  take any parameters and lambda
1469              functions can not be saved. Also note that it is not possible to
1470              overwrite   Impressive's  pre-defined  key  bindings  with  this
1471              method.
1472
1473       invert
1474              This property specifies whether the colors of that page shall be
1475              inverted  in the same way the --invert command-line switch does.
1476              It overrides the --invert setting on a per-page basis: If set to
1477              True,  the  page  will  always be inverted; if set to False, the
1478              page will never be inverted even if --invert has been  specified
1479              on the command line.
1480
1481       Note  that  in  Impressive versions prior to 0.11.0, the transition and
1482       transtime properties defined the transition from the  current  page  to
1483       the next, not from the previous page to the current one.
1484
1485       The  properties are stored together in a Python dictionary called Page‐
1486       Props. The syntax looks like in this example:
1487
1488         PageProps = {
1489           1: {
1490                'title': "Title Page",
1491                'transition': PagePeel,
1492                'sound': "background_music.mp3"
1493              },
1494           2: {
1495                'title': "Another Page",
1496                'timeout': 5000
1497              }
1498         }
1499
1500       The PageProps definition (and only the PageProps  definition)  will  be
1501       rewritten by Impressive if the S key is pressed. User-defined PageProps
1502       entries will also be left untouched, except for some pretty-printing.
1503
1504    GLOBAL PRESENTATION PROPERTIES
1505       The name of the presentation is shown in the title bar of  the  Impres‐
1506       sive  window  (if not in fullscreen mode). By default, the file name or
1507       (if available) PDF metadata title will be used for  this  purpose,  but
1508       the  presentation  title  can also be explicitly set by overwriting the
1509       DocumentTitle variable:
1510           DocumentTitle = "My Presentation"
1511
1512       Another useful variable, AvailableTransitions, contains a list  of  all
1513       transition  classes that may be used for randomly assigning transitions
1514       to pages lacking the transition property. Thus, if a certain transition
1515       is undesired (either because of personal dislike or because it shall be
1516       used exclusively on pages where it is  manually  assigned  using  Page‐
1517       Props), something like the following can be written:
1518           AvailableTransitions.remove(WipeBlobs)
1519       On  the  other side, it's possible to activate transitions that are not
1520       enabled by default:
1521           AvailableTransitions += [SlideUp, SlideDown]
1522       Alternatively, AvailableTransitions can be  completely  overwritten  to
1523       have the same transition (or set of transitions) assigned to all pages:
1524           AvailableTransitions = [Crossfade]
1525
1526    OPTION OVERRIDES
1527       Another  use  of info scripts is overriding the default or command-line
1528       settings on a per-file basis. This can be done  by  simply  overwriting
1529       one  of  the  variables  that  are  defined at the beginning of impres‐
1530       sive.py. Each of these variables corresponds either to  a  command-line
1531       setting,  or  to  some constant related to visual appearance or perfor‐
1532       mance. So, for example, to force fullscreen mode  for  a  presentation,
1533       write
1534           Fullscreen = True
1535
1536    WORKING DIRECTORIES
1537       The  working  directory  while executing the info scripts themselves is
1538       always the directory in which the info script is stored in.
1539
1540       The base directory for external actions that originate from Page  Prop‐
1541       erties  or  PDF  hyperlinks is always the directory of the PDF or image
1542       file this page belongs to. In other words, if e.g. 'sound': "music.mp3"
1543       is  written  in  the  info script for one page of presentation.pdf, the
1544       file music.mp3 is expected to be located in the same directory as  pre‐
1545       sentation.pdf.
1546

AUTHOR

1548       Impressive  and  its documentation has been written mainly by Martin J.
1549       Fiedler <martin.fiedler@gmx.net>, with small portions of the code writ‐
1550       ten by external contributors. See the source code file for details.
1551

REPORTING BUGS

1553       Report bugs to to <martin.fiedler@gmx.net>.
1554
1555
1556
1557Martin J. Fiedler                 2020-05-31                     IMPRESSIVE(1)
Impressum