Provided by: impressive_0.13.1-1_all bug

NAME

       Impressive - presentation tool with eye candy

SYNOPSIS

       impressive [OPTIONS...] FILES...

DESCRIPTION

       Impressive  is  a  simple  presentation program that displays slideshows of PDF documents,
       image files or video files. Rendering is done via  OpenGL,  which  allows  for  some  "eye
       candy" effects.

       A  somewhat-modern  GPU  (graphics processing unit) supporting OpenGL 2.0 or OpenGL ES 2.0
       and appropriate drivers are required to run Impressive.

OPTIONS

       -a <seconds> or --auto <seconds>
              Automatically advance to the next page after the given number of seconds.  Together
              with  the  -w  option  (described  below),  this  can  be  used to create automatic
              slideshows.
              Note that this option will not interrupt video playback: If a video is longer  than
              the interval specified with --auto, it will be played until the end, but Impressive
              will change to the next page directly after that.

       -A <X>:<Y> or --aspect <X>:<Y>
              Specifies the display aspect ratio. Normally, Impressive  assumes  that  the  pixel
              aspect  ratio is 1:1 (square pixels), regardless of the display resolution that has
              been set up. If a resolution has been selected that  doesn't  match  the  display's
              aspect  ratio,  the  screen will be distorted. To overcome this, this option may be
              used to manually specify the display aspect ratio, e.g. "-A 16:9". Note  that  this
              option has no effect if the MuPDF backend is used for rendering.

       -b or --noback
              Disables  background rendering. By default, Impressive will pre-render all pages in
              a separate background thread  while  the  presentation  runs.  If  this  option  is
              specified, it will instead render all pages immediately on startup. This option has
              no effect if caching is disabled (--cache none, see below).

       --background <color>
              Sets the background color of the overview page and the page border  that's  visible
              if the page's and the screen's aspect ratios don't match.
              The  color  is  specified using HTML/CSS 3-digit or 6-digit hexadecimal RGB syntax:
              #f00 or #ff0000 is bright red, for example. The leading hash sign (#) is  optional.
              In addition, the words black (which is also the default) and white are recognized.

       -bare
              Disables all functionality that relies on temporary files, specifically video frame
              extraction using MPlayer (extracting video frames with  FFmpeg  still  works),  PDF
              page  title  extraction,  PDF  hyperlinks,  and even PDF rendering for all backends
              except MuPDF 1.4 or newer on Unix-like operating systems.

       --box-edge <pixels>
              Sets the border size  (in  pixels  when  unzoomed)  of  the  highlight  boxes'  and
              spotlight's  smooth edges. The default value is 4 pixels; it can be set to zero, in
              which case highlight boxes and the spotlight will have hard edges.

       -B <ms> or --boxfade <ms>
              Sets  the  duration  (in  milliseconds)  of  the  highlight  box   fade-in/fade-out
              animation. Default value: 100 ms.

       -c <mode> or --cache <mode>
              Specifies the page cache mode to use. Valid options are:
              none
                     Disables  page  caching  altogether, only the current and the following page
                     will be kept in RAM. Jumping  between  pages  will  be  very  slow,  because
                     Impressive  will need to render the requested pages on the fly. In addition,
                     the overview page won't be complete until every page has been shown at least
                     once.
              memory
                     Caches  all  page  images  in  memory.  This  is  the fastest method, but it
                     requires very large amounts of memory (about 3  MiB  per  page  at  1024x768
                     resolution).
              compressed or z
                     Caches  all page images in memory as well, but in compressed form. This will
                     be a little slower than memory mode, but on pages with uniform  backgrounds,
                     this will easily reduce the required amount of RAM by a factor of 20.
              disk
                     Like  memory, but uses a temporary file rather than memory for storage. This
                     is the default.
              persistent
                     Uses a permanent cache file for caching. This file will not be deleted  when
                     Impressive  quits  and will be reused on subsequent invocations. The default
                     name for the cache file is derived like the  names  for  Info  Scripts  (see
                     below  for an explanation), but with a .cache file name extension instead of
                     .info. This method is a little bit slower than disk mode, but the time  span
                     until  the  overview page is fully populated will be significantly decreased
                     if Impressive is ran again with the same input files and options.
              The mode name may be abbreviated at will, down  to  one  character.  Thus,  --cache
              persistent, -c persist and even -cp are all synonyms.

       -C <filename>[:<X>,<Y>] or --cursor <filename>[:<X>,<Y>]
              This  option  can  be  used  to specify an image that shall be used as a (software)
              mouse cursor instead of the normal (hardware) one. It can either be a  name  of  an
              image  file  (typically a transparent .png) or one of the special values "-" (dash)
              or "default", both of which select a built-in cursor image. On  platforms  that  do
              not  support  a hardware cursor, this default cursor will also be used as a default
              if this option is not used.
              If the name of an external file is specified, the  position  of  the  hotspot  (the
              pixel  inside  the  cursor  where  the  actual  mouse  position  is located) can be
              specified as well, for example: --cursor mycursor.png:2,4.

       --clock
              If this option is enabled, the current time will be shown instead  of  the  elapsed
              time  if  time  display  is  activated  (with  the  T  key  in  the default control
              configuration). Compatible with the -M option.

       --control-help
              This option will output a short  help  screen  of  how  the  control  configuration
              (keyboard  and mouse bindings) work, along with a list of all recognized events and
              actions and a dump of the current bindings (which is the default  configuration  if
              no  other  -e/--bind  or  -E/--controls  options  precede this option). After that,
              Impressive will exit; no presentation will be started.

       -d <time> or --duration <time>
              Specifies the expected run time of the presentation.  The  time  parameter  can  be
              either  a  number  of  seconds  or a human-readable time like 1:23 (1 minute and 23
              seconds), 4:56h (4 hours and 56 minutes), 3m45s (3 minutes and 45 seconds),  5m  (5
              minutes) or 1:23:45 (1 hour, 23 minutes and 45 seconds).
              If an expected duration is specified, Impressive will show a semi-transparent green
              progress bar at the bottom edge of the screen, indicating how much time has already
              passed.  If  the  time is up, the bar will occupy the whole edge and fade to yellow
              (at 125% of the expected time) to red (at 150% or more).

       -D <ms> or --mousedelay <ms>
              Sets the time (in milliseconds) the mouse cursor is shown if it is not moved. There
              are  two special values: 0 (zero) shows the mouse cursor permanently, 1 (one) hides
              it completely. The default value is 3000 ms if Impressive is started in  fullscreen
              mode, and 0 (i.e. don't hide) if started in windowed mode.

       --darkness <percentage>
              Specifies  how  much  the  screen shall become darker when using highlight boxes or
              spotlight mode. The value is specified in percent, with 25  being  the  default.  A
              value  of  zero  would  mean  no darkening at all (the screen would just be blurred
              slightly, and desaturated if the graphics hardware supports it), and a value of 100
              would make everything but the highlighted parts of the screen black.

       -e <bindings> or --bind <bindings>
              Configures keyboard or mouse bindings. For the syntax of the argument, refer to the
              Control Configuration section of the manual.

       -E <filename> or --controls <filename>
              Loads a configuration file for keyboard and mouse bindings. For the syntax of these
              files, refer to the Control Configuration section of the manual.

       --evtest
              If  this  option is specified, Impressive will not start a normal presentation, but
              instead  enter  the  so-called  "Event  Test  Mode"  after  the  display  has  been
              initialized.  In  this  mode, Impressive will simply capture all keyboard and mouse
              events and display the name of the last event on the screen.  In  addition,  events
              will be logged to standard output. This mode helps with determining the event names
              for each key  when  creating  a  custom  control  configuration  (see  the  Control
              Configuration section).

       -f
              Sets  the window/fullscreen mode Impressive shall start up with. This option can be
              specified multiple times; each times it is found, the next of the three options  is
              selected,  in  the following order: (1.)True fullscreen mode, including setting the
              video mode. This is the default mode. (2.)Windowed mode, where Impressive runs in a
              standard  window. (3.)"Fake-fullscreen" mode, where fullscreen is emulated by using
              a window without border that fills the whole screen. Setting the display resolution
              is  not  possible in this mode. Each of these modes has a corresponding long option
              that enables it directly (--fullscreen, --windowed and --fake-fullscreen).

       --fullscreen
              Starts Impressive in fullscreen mode (the default). See the discussion  of  the  -f
              option for details.

       --fake-fullscreen
              Starts  Impressive  in  "fake fullscreen" mode. See the discussion of the -f option
              for details.

       -F <file> or --font <file>
              Impressive uses some kind of text OSD to overlay the current page number and  title
              (if  available) on the overview page. This option can be used to specify a TrueType
              font file (.ttf) to use for the OSD. If the path specified doesn't  directly  point
              to  a useable font file, Impressive will try to search the system font directories.
              It assumes that all fonts are stored below /usr/share/fonts, /usr/local/share/fonts
              or  /usr/X11R6/lib/X11/fonts/TTF for this purpose (the latter one is useful for Mac
              OS X systems specifically). If this option is not specified, any of  DejaVuSans.ttf
              or  Vera.ttf  (the  typical  file  name  of  Bitstream Vera Sans) will be used as a
              default.

       -g <width>x<height>[+<posX>+<posY>] or --geometry <width>x<height>[+<posX>+<posY>]
              Sets the screen size or resolution Impressive shall use (in pixels).  If xrandr  is
              installed,  the  default  screen  size  for  fullscreen  mode is the current screen
              resolution; on other platforms, Impressive uses the highest resolution available to
              the  graphics system. If a standard resolution cannot be determined, the default is
              1024x768 pixels. This is also the default for windowed mode.
              Furthermore, if the additional parameters posX and posY are present,  they  specify
              the  position  of  the  upper-left corner of the window (relative to the upper-left
              corner of the desktop), in pixels,  for  windowed  and  fake-fullscreen  mode.  The
              values are ignored in "true" fullscreen mode.

       -G <gamma>[:<blacklevel>] or --gamma <gamma>[:<blacklevel>]
              Sets  up the startup gamma and (optional) black level value. The black level is the
              original image's intensity level (0...254)  that  is  to  be  mapped  to  black  in
              Impressive's output. Note that gamma and black level adjustments may be unavailable
              or constrained on some systems.

       -h or --help
              If this option is specified, Impressive writes a short command line help screen  to
              standard output and does not start a presentation.

       -H or --half-screen
              This  option  makes Impressive show the overview page and OSD elements on the right
              half of the screen only. The overview page will only show  the  left  half  of  the
              slides as previews. The box-zoom boxes will also be shown on the left half. Using a
              multi-monitor setup with a wide virtual screen and specially crafted  slides  (e.g.
              those  that  can be generated with LaTeX's beamer class), this makes it possible to
              have presenter's notes on the second screen.
              Note that transitions and animations are  still  operating  on  the  whole  screen,
              making  some  of  them  (like  PagePeel)  look  ugly.  Impressive also disables the
              overview zoom animation in half-screen mode; it can  be  re-enabled  by  explicitly
              setting it to another value with a later command line option (--zoomtime).
              Another  limitation  is  that  the  allocation  of  the screen halves (slides left,
              overview right) is fixed.

       -i <page> or --initialpage <page>
              Specifies the page number to start with. The default value is  1  (start  with  the
              first  page).  If  another  value  is specified, the page shown by Impressive right
              after initialization is not the first one of the PDF or image  list.  Additionally,
              pre-rendering (if enabled) will also start at the specified page.

       -I <filename> or --script <filename>
              Overrides  automatic  derivation of the info script filename and specifies a script
              file directly.

       --invert
              This option makes Impressive invert the colors of each page, turning black to white
              and vice-versa. Note that it is a full RGB inversion, so it will, for example, turn
              dark green to light purple (and vice-versa) too.

       -k or --auto-progress
              This option makes Impressive show a progress bar, visualizing the timeout on  pages
              that have one (either specified as a page property or using the --auto command-line
              option). Nothing is done on pages that don't have a timeout.
              If the --duration or --page-progress bars are enabled too, the --auto-progress  bar
              is shown on the top of the screen; otherwise, it's shown on the bottom.

       -l or --listtrans
              If  this  option is specified, Impressive writes a list of all available transition
              classes to standard output and does not start a presentation. Transitions that  are
              enabled by default are marked with a star (*) left of the class name.

       -L <spec> or --layout <spec>
              Specifies the OSD layout. Read below for an explanation of this option.

       --maxzoom <factor>
              The  maximum  zoom  factor  up  to  which  Impressive  shall  attempt  to  render a
              high-resolution image of the page when zoomed in.  This  can  be  any  real  number
              larger than or equal to 1.0; the default is 5.0. A setting of 1.0 causes Impressive
              to never render a high-resolution image for zooming; in this  case,  the  zoom  and
              box-zoom modes will upscale the image, but not enhance any details.
              Note  that  regardless  of  this  setting,  Impressive  always  checks the graphics
              hardware capabilities (in particular, the maximum supported texture size)  and  may
              reduce the effective value of --maxzoom if the hardware supports less than what has
              been specified.

       --min-box-size <pixels>
              This option sets the minimum size of a highlight box, in pixels. Boxes that are not
              this many pixels wide and high are rejected in order to prevent accidental creation
              of highlight boxes. The default value for this is 30 pixels.

       -M or --minutes
              If this option is set, Impressive will show the on-screen timer (activated with the
              T  key)  only  with  1  minute  resolution. By default, it will show a timer with 1
              second resolution.

       --noblur
              By default, Impressive uses a fragment shader to blur and desaturate the image when
              in  highlight  box  or spotlight mode. This is usually the faster and nicer-looking
              method; however, some very old hardware implementations can't deal with that shader
              and  fall  back  to  an  unusably slow software implementation. Impressive tries to
              detect scenarios where  this  would  happen  and  automatically  falls  back  to  a
              different implementation.
              There  might  be  situations where this mechanism fails and Impressive tries to use
              the non-functional shader anyway. In these cases, the --noblur option can  be  used
              to enforce the fallback implementation.

       -N or --nocursor
              This  option  disables  any  display  of  a  mouse  cursor, i.e. neither the system
              ("hardware") not bitmap ("software") cursor is shown at any time. It it  equivalent
              to  setting  --mousedelay  to 1. This is mainly useful for automated presentations,
              where no mouse interaction is needed.

       --noclicks
              If this option is enabled, switching to the previous or next page with the left and
              right  mouse  buttons  is  deactivated.  The keyboard shortcuts are unaffected from
              this.
              Note that this option only works as intended when the default controls are used. If
              the  -e/--bind  or  -E/--controls options have been used, --noclicks might not have
              the intended effect.

       --nologo
              This option disables the Impressive logo and version number display.  Instead,  the
              loading screen will be just black or, if background rendering is disabled, only the
              progress bar will be visible.

       --nooverview
              This option disables the overview page. Overview thumbnails are  not  created,  and
              the  Tab  that  normally  enters  overview  mode  is  ignored. (More precisely, the
              overview-enter action is ignored.)

       --noquit
              This option disables the keyboard shortcuts (Q and Esc) that  could  normally  quit
              Impressive  with a single keypress. If it is used, the only way to exit the program
              is the key combination Alt+F4, and accidental quitting is no longer possible.
              Note that this option only works properly if the default controls are used. If  the
              -e/--bind  or  -E/--controls  options  have  been used, --noquit might not have the
              intended effect.

       -o <directory> or --output <directory>
              Do not display the presentation, but render it into a series  of  PNG  image  files
              inside  the  specified  directory.  The  images  will  be  generated in the current
              resolution as specified by the -g option. This option is useful if the presentation
              is  to  be  given  on  on a foreign PC with an old, broken or otherwise problematic
              MuPDF/Xpdf/GhostScript installation: By generating images of the PDF pages,  is  is
              made sure that no rendering bugs will happen on the target system.

       -O <mode> or --autooverview <mode>
              Enables  or  disables  automatic derivation of whether a page shall or shall not be
              shown on the overview page. This feature is based  on  the  fact  that  some  LaTeX
              presentation  packages  tag  all pages with a title (that can be read by Impressive
              with the help of pdftk), except those that contain multiple reveal steps.
              The following modes are available:
              off
                     Disables automatic overview mode. All pages will be shown  on  the  overview
                     page by default. This is also the default setting.
              first
                     All  pages  with a PDF title will be shown on the overview page. The purpose
                     is to show the initial state of multi-step slides on the overview page.
              last
                     All pages before a page with a PDF title will be shown on the overview page.
                     The  purpose is to show the final state of multi-step slides on the overview
                     page.
              Again, the mode may be abbreviated arbitrarily, down to one  character,  just  like
              with the -c option above..

       --overtime <ms>
              Sets  the duration (in milliseconds) of the overview page zoom-in/zoom-out effects,
              without affecting the zoom or box-zoom animation time. Default value: 250 ms.

       -p <start>-<end> or --pages <start>-<end>
              Using this option, the range of the  page  displayed  can  be  narrowed  down.  The
              presentation  will  start  at the first page in the range. All pages outside of the
              range will not be shown on the overview page and will not be cached. However,  they
              can be entered manually when cycling through the presentation. Due to the fact that
              these pages are uncached, preparation of the display will take considerably longer.

       -P <path> or --gspath <path>
              This option can be used to override the Xpdf / GhostScript path autodetection.  The
              full path to the executable of either GhostScript (gs or gs.exe) or Xpdf's pdftoppm
              utility must be specified.

       -q or --page-progress
              If this option is enabled,  Impressive  will  show  a  light-blue  semi-transparent
              progress  bar  at  the bottom edge of the screen that shows the position inside the
              presentation, i.e. the relation between the  current  page  number  and  the  total
              number of pages.
              If  the  -d/--duration progress bar is enabled too, the --page-progress bar will be
              stacked above that.

       --progress-last <number>
              This option sets the page number at which the slide  the  --page-progress  progress
              bar should end. This can be useful to ignore backup slides.
              This option does not have any effect if -q/--page-progress is not used.

       -Q or --autoquit
              If this option is specified, Impressive quits automatically when trying to navigate
              to the page after the last page or the page before the first page.
              This option does not have any effect if --wrap is used.

       -r <n> or --rotate <n>
              Display all pages rotated by nx90 degrees clockwise. Try -r 1 or -r 3 if there  are
              problems with PDFs generated by LaTeX on some Xpdf or GhostScript versions.

       -s or --scale (image input only)
              If a directory with image files is used as input, Impressive will scale down images
              that are too big for the screen. But by default,  it  will  not  scale  up  smaller
              images  to  fit  the  screen;  it  will  leave  a black border instead. This option
              overrides this setting and enables upscaling of smaller images.

       -s or --supersample (PDF input only)
              This switch  enables  antialiasing  by  4x  supersampling  instead  of  the  normal
              multisampling  method used by Xpdf or GhostScript. While this usually degrades both
              visual quality and performance, it may be necessary for circumventing white  strips
              or moire-like patterns in gradients.

       -S <pixels> or --fontsize <pixels>
              This option sets the size, in pixels, of the OSD font. The default value is 14.

       --spot-radius <pixels>
              This  option sets the initial radius of the spotlight, in pixels. The default value
              is 64.

       --time-display
              This option enables display of the elapsed presentation time, as if the T  key  has
              been pressed immediately after startup. This implies time tracking mode (--tracking
              option).

       -t <trans1[,trans2...]> or --transition <trans1[,trans2...]>
              Using this switch, the set of transitions Impressive will  randomly  draw  at  page
              changes  can  be  specified.  If only one transition class is specified, this class
              will be used for all pages that do not have another transition explicitly  assigned
              in their page properties. Multiple transitions have to be separated by commas; they
              will be used in random order. The -l option can be used to get a list of  available
              transitions.

       -T <ms> or --transtime <ms>
              Sets  the  duration  (in  milliseconds)  of  page  transitions.  0  (zero) disables
              transitions altogether. Default value: 1000 ms.

       --tracking
              This option enables time tracking mode. In this mode, a report of all pages visited
              with  their  display  duration,  enter  and leave times will be written to standard
              output. This can be very useful when preparing presentations.

       -u <seconds> or --poll <seconds>
              If this option is specified, the source file  or  directory  will  be  checked  for
              changes  regularly.  If a change in the input PDF file or any of the image files in
              the input image directory is detected, the page  cache  will  be  flushed  and  the
              current  page  as  well  as  the  info  script will be reloaded. The current page's
              transition will be shown between the old and the new version of the page.
              The new PDF file must have at least as much pages as the old one; also,  it  should
              have  the same aspect ratio. If the input is a directory, image files must not have
              disappeared.

       -v or --verbose
              This option makes Impressive  more  verbose,  i.e.  it  will  print  slightly  more
              informational messages than usual.

       -V <pixels> or --overscan <pixels>
              PDF  files  often contain tiny amounts of white borders around the edges which look
              bad in screen presentations. To eliminate this problem, Impressive uses "overscan":
              PDF  files  will  not  be rendered to fit the screen size exactly, but they will be
              rendered a bit larger so that the (possibly broken) borders can be cropped off. The
              amount  of  overscan,  in  screen  pixels, can be set with this option. The default
              value is 3 pixels, which should remove borders in most presentations at most common
              screen resolutions without cropping the pages too much.

       -w or --wrap
              If this option is set, Impressive will "wrap" over to the first page after the last
              page. In other words, advancing to the next page at the  end  of  the  presentation
              will restart the whole presentation.

       -W or --nowheel
              By  default,  it  is  possible  to  change pages using the mouse wheel. This option
              disables this behavior, which can be useful to prevent spurious page changes if the
              mouse wheel is likely to be moved by accident. In addition, it makes it possible to
              enter zoom mode with the mouse wheel.
              Note that this option only works properly if the default controls are used. If  the
              -e/--bind  or  -E/--controls  options  have been used, --nowheel might not have the
              intended effect.

       --windowed
              Starts Impressive in windowed mode.  See  the  discussion  of  the  -f  option  for
              details.

       -x or --fade
              This  option enables a smooth fade-in effect at the start of the presentation and a
              fade-out effect just before Impressive quits.

       -X or --shuffle
              If this option is enabled, the input files  will  be  shuffled  into  random  order
              before starting the presentation. The individual pages of PDF input files will stay
              in their original order,  though,  so  this  option  is  mainly  useful  for  image
              presentations.

       -y or --auto-auto
              This  option can be used together with --duration to have Impressive compute a page
              timeout (as with the --auto option) automatically. This results in  a  presentation
              that  runs  automatically,  displaying  each  slide  for the same time, so that the
              desired total duration will be reached  (almost)  exactly.  One  exception  is  the
              runtime of videos, which is not taken into account.

       --zbox-edge <pixels>
              Sets the border size (in pixels when unzoomed) of the box-zoom boxes' smooth edges.
              The default value is 1 pixel; it can be set to zero, in  which  case  the  box-zoom
              area will have a hard edge.

       -z <factor> or --zoom <factor>
              Sets  the  scaling factor that is used in zoom mode. It can be any real value above
              1.0; the default value  is  2.0.  Note  that  it  might  not  be  possible  to  get
              high-quality   zooming  for  large  zoom  factors  due  to  hardware  restrictions.
              Furthermore, please be aware that after leaving zoom mode, the image quality of the
              normal  page  display may be slightly degraded until another page is displayed if a
              zoom factor other than 2.0 is used.

       --zoomdarkness <percentage>
              Specifies how much the non-selected parts of the  screen  shall  become  darker  in
              box-zoom  mode.  The  value  is  specified in percent, with 90 being the default. A
              value of zero would mean no darkening at all (parts outside of the zoom  box  would
              still  be  perfectly  visible),  and  a  value of 100 would make everything but the
              selected region black.

       -Z <ms> or --zoomtime <ms>
              Sets the duration (in  milliseconds)  of  the  zoom,  box-zoom  and  overview  page
              zoom-in/zoom-out effects, all at once. Default value: 250 ms.
              If  separate  animation  time  settings  for  overview  zoom  and zoom/box-zoom are
              desired, the -Z/--zoomtime option must be specified before the --overtime option.

       --cachefile <filename>
              Activates persistent cache mode and specifies the name of the cache file to use.

ARGUMENTS

       Following the options, the input file name(s) must be specified. Recognized file types are
       PDF,  image files (JPEG, PNG, TIFF, BMP, PGM/PPM) and video files (AVI, MOV/MP4, MKV/WebM,
       OGV, MPEG, M2TS, FLV). If the name of  a  directory  is  put  on  the  command  line,  all
       recognized  image  files  (no PDF files!) in this directory will be played in alphanumeric
       order (case-insensitive).

       In addition, Impressive can use a text file containing a list of files or  directories  to
       show:  This text file must contain at most one file name per line; every character after a
       hash sign (#) is treated as a comment and will be ignored. If such a comment is put on the
       same line as an image file name, it will be used as the page's title. List file names must
       be prefixed with an at sign (@) on the command line, e.g. impressive @my_list_file.

       Impressive will also expand wild-card characters (* and ?) if this isn't already  done  by
       the  shell, but apart from that, it will not reorder the arguments. Thus, it will show the
       documents in the order specified at the command line.

       If video files are specified on the command line, Impressive generates presentation  pages
       for  them  just like it does for image files. If FFmpeg or MPlayer are installed, the page
       will be shown as a screenshot of the first video frame. When entering  such  a  page,  the
       video  will be played back if a suitable player (MPlayer, or omxplayer on Raspberry Pi) is
       installed.

    LAYOUT OPTIONS
       The OSD layout option (-L/--layout) accepts a string with comma-separated key=value pairs.
       The following keywords are recognized:
       alpha
              The  opacity of the OSD text, either as a floating-point value between 0 and 1 or a
              percentage between 2 and 100.
       margin
              The distance (in pixels) of the OSD text to the screen borders.
       time
              The position of the timer.
       title
              The position of the page title in overview mode.
       page
              The position of the page number in overview mode.
       status
              The position of the status line.
       The position specifications are composed by one character that indicates whether the  text
       shall  be displayed at the top (T) or bottom (B) edge of the screen and one character that
       indicates whether it shall appear on the left (L), on the right (R) or centered (C).

       For example, the default OSD layout equals the following option string:
           -L margin=16,alpha=1,time=TR,title=BL,page=BR,status=TL

    EXAMPLES
       The following examples illustrate some typical command lines. They assume that  Impressive
       can  be run by simply typing "impressive" on the command line. Depending on how Impressive
       is installed, this has to be substituted with the  actual  way  to  run  Impressive  (e.g.
       "python  ~/impressive/impressive_dev.py"  for a fresh SVN checkout). Furthermore, the file
       "demo.pdf" is used as the document to show here; obviously this has to be replaced by  the
       path to the actual PDF file too.

       In  the simplest case, Impressive is run directly with the name of the file to show and no
       further parameters. This will start a full-screen presentation with all settings at  their
       defaults:
           impressive demo.pdf

       To  just  quickly  check  a  slide  deck, it might make sense to run Impressive in a small
       window and not full-screen. This can be done with something like
           impressive -f -g 800x600 demo.pdf

       Impressive can also be used in digital signage scenarios, like displays  in  shop  windows
       with  a permanent slideshow. This can be achieved by having Impressive advance to the next
       page automatically after a specified time (e.g. 10 seconds) and re-start the  presentation
       from the start after the last slide:
           impressive -a 10 -w demo.pdf

USAGE

       On startup, Impressive will display a black screen with the program logo at the center. If
       caching is enabled, but background rendering is disabled, all pages  of  the  presentation
       will then be rendered once. A bar in the lower half of the screen displays the progress of
       this operation. Any key or mouse click (except for those that quit Impressive, typically Q
       and  Esc)  skips  this  process, with the effect that Impressive will render the remaining
       pages on demand. Please note that the overview page will not be complete until every  page
       has  been  rendered  at least once. In other words, if the precaching process was skipped,
       placeholders will be displayed for all pages that have not been rendered yet. By  default,
       Impressive  will  build  up the cache in the background while the presentation runs. Thus,
       the progress bar will not appear and the preparation will only take  the  amount  of  time
       required  to  render  the  first  two pages of the presentation. After this initialization
       process, Impressive will switch to the first page directly and without any transition.

DEFAULT CONTROLS

       The keyboard and mouse controls  used  by  Impressive  are  configurable  (with  very  few
       exceptions). The default controls are as follows:

       Esc key
              Return from the currently active special mode (zoom, box-zoom, overview, spotlight,
              highlight boxes); if no such special mode is active, quit Impressive altogether.

       Q key or Alt+F4
              Quit Impressive immediately.

       LMB (left mouse button), mouse wheel down, Page Down key, Cursor Down  key,  Cursor  Right
       key or Spacebar
              Go to the next page (using a transition).

       RMB  (right  mouse button), mouse wheel up, Page Up key, Cursor Up key, Cursor Left key or
       Backspace key
              Go to the previous page (using a transition).

       Home key / End key
              Go directly to the first or last page of the presentation.

       Ctrl key (modifier)
              If one of the page navigation keys (Page Up/Down, Cursor  keys,  Space,  Backspace,
              Home, End) is pressed while the Ctrl key is held down, the destination page will be
              entered immediately, without a transition.

       L key
              Return to the last (most recently displayed) page. This can be used to toggle  back
              and forth between two pages.

       F key
              Toggle fullscreen mode.

       Tab key
              Zoom back to the overview page. While in overview mode, a page can be selected with
              the mouse and activated with the left mouse  button.  The  right  or  middle  mouse
              button or the Tab key leave overview mode without changing the current page.

       MMB (middle mouse button)
              In  normal  display mode, this acts like the Tab key: it zooms back to the overview
              page. If the page is zoomed in, it will return to normal mode.

       LMB over a PDF hyperlink
              Jump to the  page  referenced  by  the  hyperlink.  Two  types  of  hyperlinks  are
              supported:  Links  that  point  to  some  other  page of the same document, and URL
              hyperlinks like Web links and e-mail addresses. This feature is only  available  if
              pdftk is installed. Furthermore, xdg-open from the freedesktop.org Portland project
              is required for URL links to work.  Please note that the hyperlink feature will not
              work properly when pages are rotated.

       click&drag with LMB (left mouse button)
              Create  a  new  highlight  box.  While at least one highlight box is defined on the
              current page, the page itself will be shown in a darker, blurry and  (if  supported
              by  the  graphics hardware) desaturated rendition. Only the highlight boxes will be
              displayed in their original lightness, sharpness and color saturation.
              If a page with highlight boxes is left, the boxes will be saved  and  restored  the
              next time this page is shown again.

       click&drag with Ctrl+LMB (left mouse button)
              Draw  a box to zoom into. This enters so-called "box-zoom" mode, where the selected
              region is zoomed into full view and anything  else  is  displayed  in  much  darker
              colors  (but  not  blurred  like  in highlight box mode). The page contents will be
              re-rendered in  a  higher  resolution,  if  possible  (limited  to  what  has  been
              configured  with  the  --maxzoom  command-line  option, and the graphics hardware's
              maximum supported texture size). To leave this mode again, use RMB, MMB or Esc.
              Note that box-zoom  mode  is  mutually  exclusive  with  highlight  boxes  and  the
              spotlight;  if  any  of those is currently active, it's not possible to draw a zoom
              box.

       RMB (right mouse button) over a highlight box
              If the right mouse button is clicked while the mouse cursor is  above  a  highlight
              box,  the  box will be removed. If the last box on a page is removed, the page will
              turn bright and sharp again.

       A key
              Toggle automatic slideshow mode.
              If an automatic presentation has been started with  the  -a/--auto  option,  it  is
              temporarily  disabled  until  this  key  is  pressed again. It is not automatically
              re-enabled after changing the  page.  If  the  -a/--auto  has  not  been  used,  an
              automatic  presentation  with  a  timeout of 30 seconds is started when this key is
              pressed for the first time.
              Note that if a page has a timeout PageProp, the  specified  timeout  is  always  in
              effect  when  the  page  is  entered,  even if the automatic slideshow is otherwise
              disabled.

       S key
              Save the info script associated with the current presentation. The main purpose for
              this  is to permanently save highlight boxes or keyboard shortcuts, so they will be
              restored the next time this presentation is started.

       T key
              Activate or deactivate the time display at the upper-right corner of the screen. If
              the  timer  is activated while the very first page of the presentation is shown, it
              activates time tracking mode, just as if the  command-line  option  --tracking  had
              been specified.

       R key
              Reset the presentation timer.

       C key
              Removes ("clears") all highlight boxes from the current page.

       Return key or Enter key
              Toggle  spotlight  mode.  In  this mode, the page is darkened in the same way as if
              highlight boxes are present, but instead of  (or  in  addition  to)  the  boxes,  a
              circular  "spotlight"  will  be  shown  around the mouse cursor position, following
              every motion of the mouse cursor.

       + / - key, 9 / 0 key or mouse wheel in spotlight mode
              Adjust the spotlight radius.

       Ctrl+9 or Ctrl+0 keys
              Resets the spotlight radius to the default value, i.e. the value that has been  set
              up   by  the  radius  page  property,  the  --spot-radius  command-line  option  or
              Impressive's built-in default.

       7 / 8 key
              Adjust the amount of darkening applied to the page in spotlight, highlight  box  or
              box-zoom mode.

       Ctrl+7 or Ctrl+8 keys
              Resets the amount of darkening in spotlight, highlight box and box-zoom mode to the
              default values, i.e.  the  value  that  have  been  set  up  by  the  darkness  and
              zoomdarkness  page  properties,  the  --darkness  and  --zoomdarkness  command-line
              options or Impressive's built-in defaults.

       Z key
              Toggle zoom mode. When this key is first pressed, the current page  will  zoom  in.
              The  page will be displayed at double size, but in its original resolution (i.e. it
              will be blurry). Impressive will re-render the page at the new  resolution  if  the
              graphics  hardware  supports  it.  During this time, Impressive will not accept any
              input, so don't even think about clicking the mouse or  pressing  keys  before  the
              image gets crisp again.
              In  zoom  mode,  all other functions will work as normal. Any operations that leave
              the current page, such as flipping the page or entering the overview  screen,  will
              leave zoom mode, too.

       [ / ] key
              Adjust the gamma value of the display (might not be supported on every hardware).

       { / } key
              Adjust the black level of the display (might not be supported on every hardware).

       \ key
              Revert gamma and black level back to normal.

       O key
              This  will  toggle  the  "visible  on  overview page" flag of the current page. The
              result will not be visible immediately, but it can be  saved  to  the  info  script
              (using the S key) and will be in effect the next time the presentation is started.

       I key
              This  will  toggle the skip flag of the current page. A page marked as skipped will
              not be reachable with the normal forward/backward navigation keys.

       B / W key or . (dot) / , (comma) key
              Fade to black or white, respectively. This feature can be used if a  whiteboard  or
              blackboard  in  front of the projection area is to be used during the presentation.
              Using these two keys, the screen will fade into a solid color. On any  keypress  or
              mouse  click, it will fade back to normal. These keys are not available in overview
              mode.

       click&drag with MMB (middle mouse button) or RMB (right mouse button) in zoom mode
              Move the visible part of the page in zoom mode.

       mouse wheel up / down in zoom mode, U key
              Zoom a bit in or out. When zoomed out fully, zoom mode is left; note  that  in  the
              default  configuration, this means that when trying to zoom out even more using the
              wheel, the page is left instead. This is different if the  -W/--nowheel  option  is
              used,  where  page  navigation  using the mouse wheel is disabled, and the wheel is
              always used for zooming. In this mode, the wheel can also be  used  to  enter  zoom
              mode in the first place.
              Note  that  changing  the  zoom  level  on  the  fly  with  the wheel does not make
              Impressive automatically re-render the page at a higher resolution to increase  the
              level  of  detail.  To  do  this,  the  U key needs to be pressed manually when the
              desired zoom level has been set up.

       Cursor keys in overview mode
              Navigate through pages.

       Alt+Tab keys
              If Impressive is in fullscreen mode, the window will be  minimized  so  that  other
              applications can be used.

       Any  alphanumeric  (A-z,  0-9)  or  function  key (F1-F12) that is not bound to a specific
       action mentioned above or configured by the  user  (see  below)  can  be  used  to  assign
       shortcuts  to pages that require quick access. If one of the keys is pressed together with
       Shift, the currently displayed page is associated with this key. To recall the page later,
       it is sufficient to press the shortcut key again. Shortcuts can be stored permanently with
       the S key.

CONTROL CONFIGURATION

       As already mentioned  in  the  previous  chapter,  the  keyboard  and  mouse  bindings  of
       Impressive  can  be  widely configured. The only exceptions are the Alt+F4 and Alt+Tab key
       combinations that will always quit or minimize Impressive,  respectively.  For  everything
       else,  there  is  a versatile configuration system in place; the controls described in the
       previous section are merely the defaults.

       Impressive's control system works by associating events with actions. An event is a key on
       the  keyboard,  a  mouse  button or a mouse wheel movement. An action is something that is
       performed by Impressive as a result of an event, like going to the next page, switching to
       overview  mode  or  quitting  the  program. The association of an event to an an action is
       called a binding. Multiple events can be bound to the same action (like the page down  and
       space  keys  in  the  default  setting,  both  of which go to the next page); furthermore,
       multiple actions can be bound to the same event. In fact, bindings do not associate events
       with single actions at all, but with chains of actions. Only the first action in the chain
       that matches (i.e. makes sense in) the current context  will  be  executed  if  the  event
       fires;  all  other  actions  will  be  ignored.  If  no  action matches, no action will be
       performed and the event will be ignored.

       One example of such an action chain is the default binding  for  the  left  mouse  button,
       which  draws a highlight box if the mouse cursor moved, or visits a hyperlink if the mouse
       cursor hovers over one, or goes to the next page if none of the other conditions are met.

       Both events and actions have mnemonic names that are used in the command-line options  and
       configuration  files  used  for setting up bindings. Event and actions names are generally
       case-insensitive, though the canonical notation is lowercase.
       If an event or action specified on the command line or in  a  configuration  file  is  not
       recognized  by  Impressive,  an  error  message  will  be  written  to the console and the
       offending event or action will be ignored. Errors in control configuration are thus always
       non-fatal.

    SUPPORTED EVENTS
       Keyboard events are generally named after the keys they refer to. Consequently, the events
       a to z and 0 to 9 mean the respective letter and number keys on the main keyboard,  f1  to
       f12  are the function keys and kp0 to kp9 are the number keys on the numerical keypad. All
       of these are raw scancodes, which has two implications:  First,  the  key  names  are  not
       internationalized  and  refer  to  the  US  keyboard layout (e.g. the Z key on a German or
       French keyboard will actually react to the event name y or w); second, modifiers  will  be
       ignored as well (e.g. the numerical keypad will always generate the kpX scancodes, even if
       Num Lock is off).

       The mnemonic names for the other keyboard events are as  follows  (in  alphabetic  order):
       ampersand,  asterisk,  at, backquote, backslash, backspace, break, capslock, caret, clear,
       comma, down, end, escape, euro, exclaim, greater, hash,  help,  home,  insert,  kp_divide,
       kp_enter,   kp_equals,     kp_minus,   kp_multiply,  kp_plus,  lalt,  last,  lctrl,  left,
       leftbracket, leftparen, less, lmeta, lshift, lsuper, menu, minus, mode, numlock, pagedown,
       pageup, pause, period, plus, power, print, question, quote, quotedbl, ralt, rctrl, return,
       right, rightbracket, rightparen,  rmeta,  rshift,  rsuper,  scrollock,  semicolon,  slash,
       space,  sysreq,  tab,  underscore,  up.  The events prefixed with kp_ refer to keys on the
       numerical keypad. Other than that, the names should be  reasonably  descriptive,  so  they
       will not be described futher at this point. Also note that not all keyboards and platforms
       support the full range of keys defined in this list.

       Mouse event names are mapped as follows:

       lmb
              the left mouse button

       mmb
              the middle mouse button

       rmb
              the right mouse button

       wheelup
              scrolling the mouse wheel upwards

       wheeldown
              scrolling the mouse wheel downwards

       btnX (i.e. btn6, btn7, ...)
              additional mouse buttons, the mapping of which is device-specific; use --evtest  to
              see which button is which

       The  event  names  can be prefixed with the three modifiers ctrl+, alt+ and shift+ to make
       the event valid only if the specified set of modifiers is pressed as well. This works  for
       both  keyboard  and  mouse  events. Multiple modifiers can be combined, but the order must
       match the one mentioned in this paragraph. For example,  ctrl+shift+x  is  a  valid  event
       name, while shift+ctrl+x is not.

       A  simple  way to determine the name associated with an event is using Impressive's "Event
       Test Mode" by invoking impressive --evtest. In this mode, the name of each incoming  event
       will  be  displayed on the screen (and logged to standard output), which makes it possible
       to determine event names by experimentation.

    SUPPORTED ACTIONS
       The following list describes all  actions  supported  by  Impressive,  together  with  the
       conditions  under which they will match. Note that most actions will not match in overview
       mode and during video playback, unless mentioned otherwise in the description.

       auto-start
              (Re-)enable automatic presentation  mode.  If  the  current  page  has  no  timeout
              PageProp  and  no -a/--auto option has been specified, an automatic presentation is
              started with a 30-second page interval.

       auto-stop
              Disable automatic presentation mode. If the current page has a timeout PageProp  or
              an  -a/--auto  option  has  been  specified,  the  timeout  for the current page is
              stopped.
              The automatic presentation stays disabled after changing pages,  unless  a  timeout
              PageProp  is  specified  for  the  target page, which will take precedence over the
              otherwise disabled automatic presentation mode.

       auto-toggle
              Disables or (re-)enables automatic presentations, depending on the current state.

       box-add
              Draw a highlight box if the mouse has been moved since the button has been  pressed
              down. This action must only be bound to a mouse button event, otherwise it will not
              function properly.

       box-clear
              Removes all boxes from the current page.

       box-remove
              Removes the highlight box under the mouse cursor, if there is any.

       box-zoom
              Define a region to zoom into by drawing a rectangle. This action must only be bound
              to a mouse button event, otherwise it will not function properly.

       box-zoom-exit
              If in box-zoom (but not normal zoom) mode, leave box-zoom mode.

       fade-less, fade-more
              Decrease or increase the amount of darkening applied to the background in spotlight
              or highlight box mode.

       fade-reset
              Resets the background darkness in spotlight or highlight box mode  to  its  default
              value.

       fade-to-black, fade-to-white
              Fades  to  a  black or white screen. Once the screen is faded out, any event except
              those bound to the quit action will just  leave  fade  mode  and  not  perform  its
              assigned action.

       fullscreen
              Toggle fullscreen mode on platforms that support it.

       gamma-decrease, gamma-increase
              Decrease  or  increase the gamma level (i.e. roughly the brightness) of the display
              on platforms that support it.

       gamma-bl-decrease, gamma-bl-increase
              Decrease or increase the black level of the display on platforms that support it.

       gamma-reset
              Reset the gamma and black level settings to their defaults.

       goto-end, goto-end-notrans
              Go to the last page of the presentation, with or without a transition.

       goto-last, goto-last-notrans
              Go to the last (i.e. most recently) visited page, with or without a transition.

       goto-next, goto-next-notrans
              Go to the following page of the presentation, with or without a transition.

       goto-prev, goto-prev-notrans
              Go to the previous page of the presentation, with or without a transition.

       goto-start, goto-start-notrans
              Go to the first page of the presentation, with or without a transition.

       hyperlink, hyperlink-notrans
              Navigate to the hyperlink under the mouse cursor, if there is one. If the hyperlink
              is  a  reference  to  another page of the presentation, this page will be activated
              with or without a transition. If the hyperlink refers to an external  object  (e.g.
              an URL), it will be opened externally, if supported by the system.

       overview-confirm
              When in overview mode, confirm the selection and leave overview mode, navigating to
              the selected page.

       overview-down, overview-up
              When in overview mode, select the page above or below the currently selected one in
              the grid.

       overview-enter
              When not in overview mode, zoom out of the current page, entering overview mode.

       overview-exit
              When  in overview mode, leave overview mode, zooming back to the page that has been
              displayed before entering overview mode.

       overview-next, overview-prev
              When in overview mode, select the following or previous page.

       quit
              Quits Impressive immediately. This action is available in all modes.

       save
              Save or update the Info Script for the current presentation.

       spotlight-enter
              If spotlight mode is not active, enable spotlight mode.

       spotlight-exit
              If spotlight mode is active, deactivate spotlight mode.

       spotlight-grow, spotlight-shrink
              When in spotlight mode, increase or decrease the radius of the spotlight.

       spotlight-reset
              When in spotlight mode, reset the spotlight radius to the default value.

       time-reset
              Reset the presentation timer.

       time-toggle
              Toggle on-screen display of the current presentation time, or  wall-clock  time  if
              the  --clock  option  is  used.  If  this is done at the start of the presentation,
              before the first page has been left, time tracking mode will be enabled,  like  the
              --tracking option would have done.

       toggle-overview
              This  toggles  the  "page is visible on overview screen" flag for the current page.
              This will not have an immediate effect, but it can be saved to an Info Script.

       toggle-skip
              This toggles the "skip page when navigating with goto-prev and goto-next" flag  for
              the current page.

       video-pause
              In video playback mode, this pauses or unpauses playback.

       video-seek-backward-10, video-seek-backward-1, video-seek-forward-1, video-seek-forward-10
              In video playback mode, seek forward or backward by 1 or 10 seconds.

       video-step
              In video playback mode, if playback is paused, advance one frame in the video.

       video-stop
              In video playback mode, stop playback and return to normal page display mode.

       zoom-enter
              If  not  in  zoom mode, enter zoom mode with the zoom level configured with the -z/
              --zoom option.

       zoom-exit
              If in zoom or box-zoom mode, leave that mode.

       zoom-in, zoom-out
              Slightly increase or decrease the current zoom level.  This  does  not  change  the
              page's  rendering  resolution,  it  only zooms the visible part of the screen in or
              out, centered around the mouse cursor's position. Zoom mode is  left  automatically
              if the zoom level goes to down to 1x; conversely, zoom mode is entered when calling
              zoom-in while zoom mode is not active.

       zoom-pan
              If in zoom mode, the visible area of the page can be moved around  with  the  mouse
              while the key or mouse button of the associated event is held down.

       zoom-update
              If  in  zoom  mode,  re-render  the current page in a resolution that best fits the
              current zoom level, up to the limits of the  graphics  hardware  or  the  --maxzoom
              setting.  This  only  needs  to  be  done  explicitly when zooming with the zoom-in
              action; zoom-enter and box-zoom do this automatically.

    BINDING SYNTAX
       The arguments of the -e/--bind command-line option have the following basic syntax:
           <event> [,<event2>...] <operator> <action> [,<action2>...]
       In other words, it is a sequence of  event  names  joined  with  commas,  followed  by  an
       operator  (see  below)  and  a  sequence of action names joined with commas. Multiple such
       binding statements can be combined into one argument by joining them with a semicolon (;).

       The used operator defines in which way the action list shall modify the  bindings  of  the
       referenced events:

       = (equals sign), += (plus sign and equals sign)
              The  specified  actions  will  be added to the bindings of the specified events. In
              other  words,  event=action1,action2  does  exactly  the  same  as   event=action1;
              event=action2.

       := (colon and equals sign)
              The specified actions will replace the bindings of the specified events.

       -= (minus sign and equals sign)
              The  specified  actions  will be removed from the bindings of the specified events.
              For example, to make the Esc key in the default bindings not clear highlight boxes,
              but otherwise preserve its original functionality, escape -= box-clear can be used.

       Other than bindings, a statement can also contain one of the following special commands:

       clearall
              Clears all current bindings.

       defaults
              Discards all current bindings and (re-)establishes the default bindings.

       include <filename>
              Loads and executes a control configuration file with a specified name.

       The  syntax  for  the  configuration  files  used with the -E/--controls option or include
       statement is exactly the  same  as  for  the  ad-hoc  configuration  option,  except  that
       individual bindings can be written on individual lines instead of joining them together to
       a single long line with semicolons. In addition, everything following a hash sign (#) on a
       line will be ignored as a comment.

       One  practical  example  for such a configuration file can be the following: The author of
       this program uses a cheap presentation remote control device that has  four  cursor  keys,
       one  "enter"  key  and  a slider that switches between keyboard and mouse mode. Mouse mode
       works as expected, but what it does in keyboard mode is quite peculiar: the  up  and  down
       keys  act  like  Page-Up  and  Page-Down keys on a keyboard, the right arrow key sends the
       letter B to the computer, and the left key toggles between  Esc  and  F5  each  time  it's
       pressed.  The  following configuration file allows basic navigation and access to overview
       mode with this device:

             clearall  # don't use the default bindings
             lmb = quit  # quit Impressive by clicking in mouse mode
             # everything else uses keyboard mode:
             return = overview-enter, overview-confirm  # toggle overview mode
             escape, f5 = overview-prev, goto-prev
             b = overview-next, goto-next
             pageup = overview-up, goto-prev
             pagedown = overview-down, goto-next

       To get a better idea of how the control  configuration  system  works  in  practice,  it's
       recommended  to  study  the  output  of  impressive --control-help - this not only gives a
       concise overview of all events and actions, but also a full dump of  Impressive's  default
       bindings that can be used as a starting point for own customizations.

INFO SCRIPTS

       Impressive  offers  a  powerful  way to customize individual presentations using so-called
       info scripts. An info script is a text file having the same name and located in  the  same
       directory as the presentation file itself, except for the additional suffix .info. Thus, a
       presentation file called BrandNewProduct.pdf would  have  a  info  script  with  the  name
       BrandNewProduct.pdf.info.  If  multiple  arguments were specified on the command line, the
       info script will be called just .info (a dot file, so to speak). If a directory  name  was
       specified  as  the only argument, either a file called DirectoryName.info or a file called
       .info inside the directory will be  used,  depending  on  whether  a  path  separator  was
       specified  at  the  end  of the directory name or not - Impressive simply appends .info to
       whatever the input path name was.
       In any case, the default file name can be overridden by the -I command line option.

       Info scripts are actually Python scripts with full  access  to  Impressive's  global  data
       structures  and  functions.  (It  is  possible,  though heavily discouraged, to write real
       interactive applications using info scripts.) This has some good and bad side effects. The
       bad  news  first:  The  info  scripts  must  be compatible with the Python version used by
       Impressive itself; it's best to write them in a way that's compatible with both Python 2.7
       (with  the  __future__  imports  print_function, unicode_literals and division) and Python
       3.x. Furthermore, there's no built-in security; in other words: don't trust  info  scripts
       you  received  from somebody else. The good news, however, is that they can modify a broad
       range of settings concerning Impressive. This manual will only cover the most basic ones.

    PAGE PROPERTIES
       The main part of an info script defines the properties of each page. At  the  moment,  the
       following properties are defined:

       title
              Each  page can have a title that is displayed in the Impressive window's title bar.
              If there is no title explicitly specified in the info script, the title of the page
              will  be  extracted from PDF metadata if pdftk is installed, or the image file name
              will be used if the presentation is an image slideshow.

       transition
              With this property, the transition class to be used for rendering the transition to
              this  page  (i.e.  between  the  previous page and this page) can be specified. For
              pages lacking this property, random transitions will be chosen. A list of available
              transition classes can be obtained with impressive -l.

       transtime
              This  property  overrides  the  global transition time parameter (-T at the command
              line). It contains the integer time (in milliseconds) the transition to  this  page
              shall take.

       overview
              This  property holds a boolean value (0/False or 1/True) that specifies whether the
              page shall be included in the overview page. If this property isn't  specified,  it
              is assumed to be True.

       skip
              This  boolean property can be set to 1/True if the page shall be skipped during the
              presentation.
              Pages with overview:True, skip:False will be accessible both by cycling through the
              pages and using the overview page,
              pages  with  overview:True,  skip:True  will be silently skipped in the normal page
              cycle, but remain accessible from the overview page,
              pages with overview:False, skip:False will appear in the normal cycle, but  not  on
              the overview page
              and pages with overview:False, skip:True will not be accessible at all.

       next
              This  property  can be set to the number of the page that shall be shown after this
              page. This can be used to skip a lot of pages without setting the skip property  on
              each  of  those, or to create a loop that can only be escaped by using the overview
              page or bookmarks.

       prev
              This property can be set to the number  of  the  page  that  shall  be  shown  when
              navigating  from  this page to the previous page (e.g. using the right mouse button
              or the Page-Up key in the default mappings).

       boxes
              This property stores a list of highlight box coordinates.  Normally,  there  is  no
              need to edit this by hand, as Impressive handles this automatically if the S key is
              pressed.

       timeout
              If  a  timeout  property  is  present  and  the  page  is  shown,  Impressive  will
              automatically  switch  to the next page after the specified number of milliseconds.
              Normally, the timeout will only be effective the  first  time  the  page  is  shown
              unless wrap mode is used (command-line option -w or --wrap). This restriction makes
              it possible to create self-running presentations with individual per-page timeouts.

       radius
              This property takes an integer value that, if defined, will be used to  set  a  new
              spotlight radius every time the page is entered. This overrides the current setting
              as defined by the --spot-radius command line option or run-time  adjustments.  Note
              that  the  value  is  not  reset  to the default value after the page has been left
              again.

       darkness
              This property takes an integer or floating-point percentage value that, if defined,
              will be used to set the background darkness in spotlight or highlight box mode each
              time the page is entered. This overrides the current  setting  as  defined  by  the
              --darkness  command line option or run-time adjustments. Note that the value is not
              reset to the default value after the page has been left again.

       zoomdarkness
              This property takes an integer or floating-point percentage value that, if defined,
              will  be used to set the background darkness in box-zoom mode each time the page is
              entered. This overrides the  current  setting  as  defined  by  the  --zoomdarkness
              command  line  option  or run-time adjustments. Note that the value is not reset to
              the default value after the page has been left again.

       comment
              This property can hold a string with a single line of text that will  be  displayed
              on screen while the page is shown. Display of this text can not be disabled.

       sound
              Specifies the file name of a sound file to be played (via MPlayer) when the page is
              first entered. Once started, the sound will be played until  its  end  is  reached,
              another sound or video is played, or Impressive is exited.

       video
              Specifies  the  file  name  of  a  video  file  to be played when the page is first
              entered. The video will be displayed full-screen. Any  key  or  mouse  click  stops
              playback,  except  the  cursor  keys, which are used to seek in the video file, and
              space, which can be used to pause playback.
              Please not that this function is still somewhat experimental. It uses  an  external
              player  application  (MPlayer,  or omxplayer on Raspberry Pi) to perform the actual
              playback, and embeds it into Impressive's window.

       always
              If this property is present and set to 1 or True, the media file specified  in  the
              sound  or  video properties will be played every time the page is entered, not just
              the first time.

       progress
              If this property is set to zero, the presentation progress bars (which are  set  up
              with  the  -d/--duration,  -q/--page-progress  or  -k/--auto-progress  command line
              switches) will not be shown on this page. In practice, it might be useful  to  hide
              the  bar(s)  from  the  first  page  so  that  they  are  not  visible  during  the
              introduction.

       reset
              If this property is set to 1 or True, the timer will be reset each time  this  page
              is left, just as if the R has been pressed. If the special value 2 or FirstTimeOnly
              is used, the reset will only take place if the page was shown for the  first  time.
              Again,   this   is  particularly  useful  on  the  first  page:  A  combination  of
              progress:False, reset:FirstTimeOnly makes it possible to set  up  the  presentation
              long  before  it actually begins - the first page can be showed as long as desired,
              actual timing starts at the second page.

       rotate
              This property is a per-page override of the  global  -r  command  line  option:  It
              specifies how the page shall be rotated, in 90-degree steps clockwise.

       OnEnter, OnLeave, OnEnterOnce, OnLeaveOnce
              These properties can contain a Python callable (i.e. a function reference or lambda
              expression) that is executed when the page is entered or left. The  ~Once  variants
              will  only  be  executed  when  the page is entered or left for the first time. The
              callable must not take any  arguments.  This  feature  can  be  used  to  associate
              arbitrary  Python  code  with  specific  pages,  for  example  to  execute external
              programs.
              Warning: Lambda expressions cannot be properly processed by the  Info  Script  save
              function  (S key). If Impressive encounters lambda expressions when saving, it will
              remove them. In addition, it will not  overwrite  the  original  info  script,  but
              generate an extra file that needs to be merged with the original script by hand.

       keys
              This  property can be assigned a dictionary that maps alphanumerical keys to Python
              functions. For example, 'keys': { 'x': SomeFunction } will invoke SomeFunction() if
              the  lowercase  character  'x'  is typed while the page is displayed. Regarding the
              functions, the same restrictions as  for  the  OnEnter/OnLeave  family  apply:  the
              function  must  not take any parameters and lambda functions can not be saved. Also
              note that it is not possible to overwrite  Impressive's  pre-defined  key  bindings
              with this method.

       invert
              This  property  specifies  whether the colors of that page shall be inverted in the
              same way the --invert command-line switch does. It overrides the  --invert  setting
              on  a  per-page  basis: If set to True, the page will always be inverted; if set to
              False, the page will never be inverted even if --invert has been specified  on  the
              command line.

       Note  that in Impressive versions prior to 0.11.0, the transition and transtime properties
       defined the transition from the current page to the next, not from the  previous  page  to
       the current one.

       The  properties  are  stored  together in a Python dictionary called PageProps. The syntax
       looks like in this example:

         PageProps = {
           1: {
                'title': "Title Page",
                'transition': PagePeel,
                'sound': "background_music.mp3"
              },
           2: {
                'title': "Another Page",
                'timeout': 5000
              }
         }

       The PageProps definition  (and  only  the  PageProps  definition)  will  be  rewritten  by
       Impressive  if  the  S  key  is  pressed. User-defined PageProps entries will also be left
       untouched, except for some pretty-printing.

    GLOBAL PRESENTATION PROPERTIES
       The name of the presentation is shown in the title bar of the Impressive window (if not in
       fullscreen  mode).  By default, the file name or (if available) PDF metadata title will be
       used for this  purpose,  but  the  presentation  title  can  also  be  explicitly  set  by
       overwriting the DocumentTitle variable:
           DocumentTitle = "My Presentation"

       Another  useful  variable, AvailableTransitions, contains a list of all transition classes
       that may be used for randomly  assigning  transitions  to  pages  lacking  the  transition
       property.  Thus,  if a certain transition is undesired (either because of personal dislike
       or because it shall be used exclusively on pages  where  it  is  manually  assigned  using
       PageProps), something like the following can be written:
           AvailableTransitions.remove(WipeBlobs)
       On the other side, it's possible to activate transitions that are not enabled by default:
           AvailableTransitions += [SlideUp, SlideDown]
       Alternatively,  AvailableTransitions  can  be  completely  overwritten  to  have  the same
       transition (or set of transitions) assigned to all pages:
           AvailableTransitions = [Crossfade]

    OPTION OVERRIDES
       Another use of info scripts is overriding  the  default  or  command-line  settings  on  a
       per-file  basis.  This  can  be  done  by simply overwriting one of the variables that are
       defined at the beginning of impressive.py. Each of these variables corresponds either to a
       command-line setting, or to some constant related to visual appearance or performance. So,
       for example, to force fullscreen mode for a presentation, write
           Fullscreen = True

    WORKING DIRECTORIES
       The working directory while executing the info scripts themselves is always the  directory
       in which the info script is stored in.

       The  base  directory  for  external  actions  that  originate  from Page Properties or PDF
       hyperlinks is always the directory of the PDF or image file this page belongs to. In other
       words,  if  e.g.  'sound':  "music.mp3"  is  written  in  the  info script for one page of
       presentation.pdf, the file music.mp3 is expected to be located in the  same  directory  as
       presentation.pdf.

AUTHOR

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

REPORTING BUGS

       Report bugs to to <martin.fiedler@gmx.net>.