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
45              effect 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
91                     below  for  an  explanation), but with a .cache file name
92                     extension 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
95                     decreased  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
117              instead  of  the elapsed time if time display is activated (with
118              the T key in the default control configuration). Compatible with
119              the -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 lower 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  in
143              fullscreen  mode  if it is not moved. There are two special val‐
144              ues: 0 (zero) shows the mouse cursor permanently, 1 (one)  hides
145              it completely. The default value is 3000 ms.
146
147       --darkness <percentage>
148              Specifies  how  much  the  screen shall become darker when using
149              highlight boxes or spotlight mode. The  value  is  specified  in
150              percent,  with  25 being the default. A value of zero would mean
151              no darkening at all (the screen would just be blurred  slightly,
152              and  desaturated  if  the  graphics hardware supports it), and a
153              value of 100 would make everything but the highlighted parts  of
154              the screen black.
155
156       -e <bindings> or --bind <bindings>
157              Configures  keyboard  or  mouse  bindings. For the syntax of the
158              argument, refer to the Control Configuration section of the man‐
159              ual.
160
161       -E <filename> or --controls <filename>
162              Loads  a configuration file for keyboard and mouse bindings. For
163              the syntax of these files, refer to  the  Control  Configuration
164              section of the manual.
165
166       --evtest
167              If  this option is specified, Impressive will not start a normal
168              presentation, but instead enter the so-called "Event Test  Mode"
169              after the display has been initialized. In this mode, Impressive
170              will simply capture all keyboard and mouse  events  and  display
171              the  name  of  the last event on the screen. In addition, events
172              will be logged to standard output. This mode helps  with  deter‐
173              mining  the event names for each key when creating a custom con‐
174              trol configuration (see the Control Configuration section).
175
176       -f
177              Sets the window/fullscreen mode Impressive shall start up  with.
178              This  option  can  be specified multiple times; each times it is
179              found, the next of the three options is selected, in  the  foll‐
180              wing  order:  (1.)True  fullscreen  mode,  including setting the
181              video mode. This is the default mode. (2.)Windowed  mode,  where
182              Impressive  runs  in  a  standard  window. (3.)"Fake-fullscreen"
183              mode, where fullscreen is emulated by  uding  a  window  without
184              border  that fills the whole screen. Setting the display resolu‐
185              tion is not possible in this mode. Each of  these  modes  has  a
186              corresponding    long    option   that   enables   it   directly
187              (--fullscreen, --windowed and --fake-fullscreen).
188
189       --fullscreen
190              Starts Impressive in fullscreen mode (the default). See the dis‐
191              cussion of the -f option for details.
192
193       --fake-fullscreen
194              Starts  Impressive in "fake fullscreen" mode. See the discussion
195              of the -f option for details.
196
197       -F <file> or --font <file>
198              Impressive uses some kind of text OSD  to  overlay  the  current
199              page  number and title (if available) on the overview page. This
200              option can be used to specify a TrueType font file (.ttf) to use
201              for  the  OSD. If the path specified doesn't directly point to a
202              useable font file, Impressive will try to search the system font
203              directories.   It  assumes that all fonts are stored below /usr/
204              share/fonts, /usr/local/share/fonts or /usr/X11R6/lib/X11/fonts/
205              TTF for this purpose (the latter one is useful for Mac OS X sys‐
206              tems specifically). If this option  is  not  specified,  any  of
207              DejaVuSans.ttf  or  Vera.ttf (the typical file name of Bitstream
208              Vera Sans) will be used as a default.
209
210       -g        <width>x<height>[+<posX>+<posY>]        or         --geometry
211       <width>x<height>[+<posX>+<posY>]
212              Sets the screen size or resolution Impressive shall use (in pix‐
213              els).  If xrandr is  installed,  the  default  screen  size  for
214              fullscreen mode is the current screen resolution; on other plat‐
215              forms, Impressive uses the highest resolution available  to  the
216              graphics  system. If a standard resolution cannot be determined,
217              the default is 1024x768 pixels. This is  also  the  default  for
218              windowed mode.
219              Furthermore,  if  the  additional  parameters  posX and posY are
220              present, they specify the position of the upper-left  corner  of
221              the  window  (relative to the upper-left corner of the desktop),
222              in pixels, for windowed and fake-fullscreen mode. The values are
223              ignored in "true" fullscreen mode.
224
225       -G <gamma>[:<blacklevel>] or --gamma <gamma>[:<blacklevel>]
226              Sets  up the startup gamma and (optional) black level value. The
227              black level is the original image's  intensity  level  (0...254)
228              that  is to be mapped to black in Impressive's output. Note that
229              gamma and black level adjustments may  be  unavailable  or  con‐
230              strained on some systems.
231
232       -h or --help
233              If  this  option is specified, Impressive writes a short command
234              line help screen to standard output and does not start a presen‐
235              tation.
236
237       -H or --half-screen
238              This option makes Impressive show the overview page and OSD ele‐
239              ments on the right half of the screen only.  The  overview  page
240              will  only show the left half of the slides as previews. Using a
241              multi-monitor setup with a wide  virtual  screen  and  specially
242              crafted  slides  (e.g.  those that can be generated with LaTeX's
243              beamer class), this makes it possible to have presenter's  notes
244              on the second screen.
245              Note  that transitions and animations are still operating on the
246              whole screen, making some of them  (like  PagePeel)  look  ugly.
247              Impressive   also   disables  the  overview  zoom  animation  in
248              half-screen mode; it can be re-enabled by explicitly setting  it
249              to another value with a later command line option (--zoomtime).
250              Another  limitation  is that the allocation of the screen halves
251              (slides left, overview right) is fixed.
252
253       -i <page> or --initialpage <page>
254              Specifies the page number to start with. The default value is  1
255              (start  with the first page). If another value is specified, the
256              page shown by Impressive right after initialization is  not  the
257              first  one of the PDF or image list. Additionally, pre-rendering
258              (if enabled) will also start at the specified page.
259
260       -I <filename> or --script <filename>
261              Overrides automatic derivation of the info script  filename  and
262              specifies a script file directly.
263
264       --invert
265              This  option  makes  Impressive  invert the colors of each page,
266              turning black to white and vice-versa. Note that it  is  a  full
267              RGB inversion, so it will, for example, turn dark green to light
268              purple (and vice-versa) too.
269
270       -k or --auto-progress
271              This option makes Impressive show a progress bar at  the  bottom
272              of  the  screen,  visualizing the timeout on pages that have one
273              (either specified as a page property or using  the  --auto  com‐
274              mand-line  option).  Nothing  is done on pages that don't have a
275              timeout.
276              The progress bar shown by this option takes precedence over  the
277              --duration  or  --page-progress bars: If one of these options is
278              specified as well, the timeout progress bar  will  be  shown  on
279              pages  with  a timeout, and the other progress bar will be shown
280              on pages without one.
281
282       -l or --listtrans
283              If this option is specified, Impressive writes  a  list  of  all
284              available  transition  classes  to  standard output and does not
285              start a presentation. Transitions that are  enabled  by  default
286              are marked with a star (*) left of the class name.
287
288       -L <spec> or --layout <spec>
289              Specifies  the OSD layout. Read below for an explanation of this
290              option.
291
292       --maxzoom <factor>
293              The maximum zoom factor up to which Impressive shall attempt  to
294              render  a high-resolution image of the page when zoomed in. This
295              can be any real number larger than or equal to 1.0; the  default
296              is  5.0.  A  setting  of 1.0 causes Impressive to never render a
297              high-resolution image for zooming; in this case,  the  zoom  and
298              box-zoom  modes  will  upscale  the  image,  but not enhance any
299              details.
300              Note that regardless of this setting, Impressive  always  checks
301              the  graphics  hardware capabilities (in particular, the maximum
302              supported texture size) and may reduce the  effective  value  of
303              --maxzoom if the hardware supports less than what has been spec‐
304              ified.
305
306       --min-box-size <pixels>
307              This option sets the minimum size of a highlight box, in pixels.
308              Boxes  that  are not this many pixels wide and high are rejected
309              in order to prevent accidental creation of highlight boxes.  The
310              default value for this is 30 pixels.
311
312       -M or --minutes
313              If  this option is set, Impressive will show the on-screen timer
314              (activated with the T key) only with  1  minute  resolution.  By
315              default, it will show a timer with 1 second resolution.
316
317       --noblur
318              By default, Impressive uses a fragment shader to blur and desat‐
319              urate the image when in highlight box or spotlight mode. This is
320              usually  the faster and nicer-looking method; however, some very
321              old hardware implementations can't deal  with  that  shader  and
322              fall  back  to an unusably slow software implementation. Impres‐
323              sive tries to detect scenarios where this would happen and auto‐
324              matically falls back to a different implementation.
325              There might be situations where this machanism fails and Impres‐
326              sive tries to use the non-functional  shader  anyway.  In  these
327              cases,  the  --noblur option can be used to enforce the fallback
328              implementation.
329
330       -N or --nocursor
331              This option disables any display of a mouse cursor, i.e. neither
332              the  system ("hardware") not bitmap ("software") cursor is shown
333              at any time. This is mainly useful for automated  presentations,
334              where no mouse interaction 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       -p <start>-<end> or --pages <start>-<end>
397              Using  this  option, the range of the page displayed can be nar‐
398              rowed down. The presentation will start at the first page in the
399              range.  All  pages outside of the range will not be shown on the
400              overview page and will not  be  cached.  However,  they  can  be
401              entered  manually  when cycling through the presentation. Due to
402              the fact that these pages are uncached, preparation of the  dis‐
403              play will take considerably longer.
404
405       -P <path> or --gspath <path>
406              This  option can be used to override the Xpdf / GhostScript path
407              autodetection. The full path to the executable of either  Ghost‐
408              Script  (gs or gs.exe) or Xpdf's pdftoppm utility must be speci‐
409              fied.
410
411       -q or --page-progress
412              If this option is enabled, Impressive  will  show  a  light-blue
413              semi-transparent  progress  bar  at the lower edge of the screen
414              that shows the position inside the presentation, i.e. the  rela‐
415              tion  between  the  current  page number and the total number of
416              pages. Note that this progress bar will  not  be  shown  if  the
417              duration progress bar (-d option) is also enabled.
418
419       -Q or --autoquit
420              If this option is specified, Impressive quits automatically when
421              trying to navigate to the page after the last page or  the  page
422              before the first page.
423              This option does not have any effect if --wrap is used.
424
425       -r <n> or --rotate <n>
426              Display all pages rotated by nx90 degrees clockwise. Try -r 1 or
427              -r 3 if there are problems with PDFs generated by LaTeX on  some
428              Xpdf or GhostScript versions.
429
430       -s or --scale (image input only)
431              If  a  directory  with  image files is used as input, Impressive
432              will scale down images that are too big for the screen.  But  by
433              default,  it will not scale up smaller images to fit the screen;
434              it will leave a black border instead. This option overrides this
435              setting and enables upscaling of smaller images.
436
437       -s or --supersample (PDF input only)
438              This  switch enables antialiasing by 4x supersampling instead of
439              the normal multisampling method used  by  Xpdf  or  GhostScript.
440              While this usually degrades both visual quality and performance,
441              it may be necessary for circumventing white strips or moire-like
442              patterns in gradients.
443
444       -S <pixels> or --fontsize <pixels>
445              This  option  sets  the  size,  in  pixels, of the OSD font. The
446              default value is 14.
447
448       --spot-radius <pixels>
449              This option sets the initial radius of the spotlight, in pixels.
450              The default value is 64.
451
452       --time-display
453              This option enables display of the elapsed presentation time, as
454              if the T key has been pressed immediately  after  startup.  This
455              implies time tracking mode (--tracking option).
456
457       -t <ms> or --transition <trans1[,trans2...]>
458              Using  this  switch, the set of transitions Impressive will ran‐
459              domly draw at page changes can be specified. If only one transi‐
460              tion  class  is specified, this class will be used for all pages
461              that do not have another transition explicitly assigned in their
462              page  properties.  Multiple  transitions have to be separated by
463              commas; they will be used in random order. The -l option can  be
464              used to get a list of available transitions.
465
466       -T <ms> or --transtime <ms>
467              Sets  the  duration  (in  milliseconds)  of  page transitions. 0
468              (zero) disables transitions altogether. Default value: 1000 ms.
469
470       --tracking
471              This option enables time tracking mode. In this mode,  a  report
472              of  all  pages  visited  with  their display duration, enter and
473              leave times will be written to standard output. This can be very
474              useful when preparing presentations.
475
476       -u <seconds> or --poll <seconds>
477              If  this  option is specified, the source file or directory will
478              be checked for changes regularly. If a change in the  input  PDF
479              file  or  any of the image files in the input image directory is
480              detected, the page cache will be flushed and the current page as
481              well  as  the  info  script will be reloaded. The current page's
482              transition will be shown between the old and the new version  of
483              the page.
484              The  new  PDF  file  must have at least as much pages as the old
485              one; also, it should have the same aspect ratio. If the input is
486              a directory, image files must not have disappeared.
487
488       -v or --verbose
489              This  option  makes  Impressive more verbose, i.e. it will print
490              slightly more informational messages than usual.
491
492       -V <pixels> or --overscan <pixels>
493              PDF files often contain tiny amounts of white borders around the
494              edges  which look bad in screen presentations. To eliminate this
495              problem, Impressive uses "overscan": PDF files will not be  ren‐
496              dered  to fit the screen size exactly, but they will be rendered
497              a bit larger so  that  the  (possibly  broken)  borders  can  be
498              cropped  off.  The  amount of overscan, in screen pixels, can be
499              set with this option. The  default  value  is  3  pixels,  which
500              should  remove  borders  in  most  presentations  at most common
501              screen resolutions without cropping the pages too much.
502
503       -w or --wrap
504              If this option is set, Impressive will "wrap" over to the  first
505              page  after the last page. In other words, advancing to the next
506              page at the end of the presentation will restart the whole  pre‐
507              sentation.
508
509       -W or --nowheel
510              By  default,  it  is  possible  to  change pages using the mouse
511              wheel. This option disables this behavior, which can  be  useful
512              to prevent spurious page changes if the mouse wheel is likely to
513              be moved by accident. In addition, it makes it possible to enter
514              zoom mode with the mouse wheel.
515              Note  that  this  option only works properly if the default con‐
516              trols are used. If the -e/--bind or -E/--controls  options  have
517              been used, --nowheel might not have the intended effect.
518
519       --windowed
520              Starts Impressive in windowed mode. See the discussion of the -f
521              option for details.
522
523       -x or --fade
524              This option enables a smooth fade-in effect at the start of  the
525              presentation and a fade-out effect just before Impressive quits.
526
527       -X or --shuffle
528              If this option is enabled, the input files will be shuffled into
529              random order before starting the  presentation.  The  individual
530              pages  of  PDF  input  files  will stay in their original order,
531              though, so this option is mainly useful for image presentations.
532
533       -y or --auto-auto
534              This option can be used together with --duration to have Impres‐
535              sive compute a page timeout (as with the --auto option) automat‐
536              ically. This results in a presentation that runs  automatically,
537              displaying  each  slide  for  the same time, so that the desired
538              total duration will be reached (almost) exactly.  One  exception
539              is the runtime of videos, which is not taken into account.
540
541       --zbox-edge <pixels>
542              Sets  the  border size (in pixels when unzoomed) of the box-zoom
543              boxes' smooth edges. The default value is 1 pixel; it can be set
544              to zero, in which case the box-zoom area will have a hard edge.
545
546       -z <factor> or --zoom <factor>
547              Sets the scaling factor that is used in zoom mode. It can be any
548              real value above 1.0; the default value is  2.0.  Note  that  it
549              might not be possible to get high-quality zooming for large zoom
550              factors due to hardware  restrictions.  Furthermore,  please  be
551              aware  that  after  leaving  zoom mode, the image quality of the
552              normal page display may be slightly degraded until another  page
553              is displayed if a zoom factor other than 2.0 is used.
554
555       --zoomdarkness <percentage>
556              Specifies  how  much  the non-selected parts of the screen shall
557              become darker in box-zoom mode. The value is specified  in  per‐
558              cent,  with  90 being the default. A value of zero would mean no
559              darkening at all (parts outside of the zoom box would  still  be
560              perfectly visible), and a value of 100 would make everything but
561              the selected region black.
562
563       -Z <ms> or --zoomtime <ms>
564              Sets  the  duration  (in  milliseconds)  of  the  overview  page
565              zoom-in/zoom-out effects. Default value: 250 ms.
566
567       --cachefile <filename>
568              Activates  persistent  cache  mode and specifies the name of the
569              cache file to use.
570

ARGUMENTS

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

USAGE

650       On startup, Impressive will display a black  screen  with  the  program
651       logo  at the center. If caching is enabled, but background rendering is
652       disabled, all pages of the presentation will then be rendered  once.  A
653       bar in the lower half of the screen displays the progress of this oper‐
654       ation. Any key or mouse click (except for those that  quit  Impressive,
655       typically  Q  and Esc) skips this process, with the effect that Impres‐
656       sive will render the remaining pages on demand. Please  note  that  the
657       overview  page  will not be complete until every page has been rendered
658       at least once. In other words, if the precaching process  was  skipped,
659       placeholders  will  be  displayed for all pages that have not been ren‐
660       dered yet. By default, Impressive will build up the cache in the  back‐
661       ground  while  the  presentation  runs. Thus, the progress bar will not
662       appear and the preparation will only take the amount of  time  required
663       to  render the first two pages of the presentation. After this initial‐
664       ization process, Impressive will switch to the first page directly  and
665       without any transition.
666

DEFAULT CONTROLS

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

CONTROL CONFIGURATION

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

INFO SCRIPTS

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

AUTHOR

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

REPORTING BUGS

1487       Report bugs to to <martin.fiedler@gmx.net>.
1488
1489
1490
1491Martin J. Fiedler                 2018-02-04                     IMPRESSIVE(1)
Impressum