Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IMPRESSIVE(1)		    Impressive Documentation		   IMPRESSIVE(1)

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 ren-
	    dering.

     -b or --noback
	    Disables  background rendering. By default, Impressive will pre-ren-
	    der 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 dis-
	    abled (--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, specifi-
	    cally 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 spot-
	    light 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 subse-
		   quent invocations. The default name for the cache file is de-
		   rived  like	the names for Info Scripts (see below for an ex-
		   planation), 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 se-
	    lect  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  mycur-
	    sor.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 con-
	    figuration (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  para-
	    meter  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  high-
	    light  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  argu-
	    ment, 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 pre-
	    sentation, but instead enter the so-called "Event Test  Mode"  after
	    the display has been initialized. In this mode, Impressive will sim-
	    ply  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 em-
	    ulated 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 discus-
	    sion 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/lo-
	    cal/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 pos-
	    sible 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. Impres-
	    sive  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 spec-
	    ifies 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 avail-
	    able transition classes to standard output and does not start a pre-
	    sentation. 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  op-
	    tion.

     --maxzoom <factor>
	    The maximum zoom factor up to which Impressive shall attempt to ren-
	    der  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 (ac-
	    tivated 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  un-
	    usably slow software implementation. Impressive tries to detect sce-
	    narios  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 con-
	    trols 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  ac-
	    cidental 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  gen-
	    erated 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/Ghost-
	    Script  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), ex-
	    cept 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 set-
		   ting.
	    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 charac-
	    ter, 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 consider-
	    ably longer.

     -P <path> or --gspath <path>
	    This option can be used to override the Xpdf / GhostScript path  au-
	    todetection.  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  be-
	    tween 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 ig-
	    nore 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  be-
	    fore 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  en-
	    ables 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 nec-
	    essary for circumventing white strips or moire-like patterns in gra-
	    dients.

     -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 direc-
	    tory, 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 op-
	    tion for details.

     -x or --fade
	    This option enables a smooth fade-in effect at the start of the pre-
	    sentation 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 af-
	    ter 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 be-
	    fore 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 di-
     rectory is put on the command line, all  recognized  image  files	(no  PDF
     files!) in this directory will be played in alphanumeric order (case-insen-
     sitive).

     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 ar-
     guments.  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 pre-
     sentation 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  be-
	    tween 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/impres-
     sive_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 presenta-
     tion 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 Im-
     pressive 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 remain-
     ing  pages  on  demand. Please note that the overview page will not be com-
     plete 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 ini-
     tialization  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,  Cur-
     sor 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 nor-
	    mal mode.

     LMB over a PDF hyperlink
	    Jump to the page referenced by the hyperlink. Two  types  of  hyper-
	    links 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 de-
	    fined on the current page, the  page  itself  will	be  shown  in  a
	    darker,  blurry  and (if supported by the graphics hardware) desatu-
	    rated 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  high-
	    light  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 maxi-
	    mum  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 op-
	    tion, 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 key-
	    board shortcuts, so they will be restored the next time this presen-
	    tation 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 cur-
	    sor.

     + / - 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 --dark-
	    ness   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  opera-
	    tions  that leave the current page, such as flipping the page or en-
	    tering 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 navi-
	    gation 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 naviga-
	    tion 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 resolu-
	    tion 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  bind-
     ings  of  Impressive  can be widely configured. The only exceptions are the
     Alt+F4 and Alt+Tab key combinations that will always quit or  minimize  Im-
     pressive,	respectively. For everything else, there is a versatile configu-
     ration 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 bind-
     ing. 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 com-
     mand-line options and configuration files used  for  setting  up  bindings.
     Event  and actions names are generally case-insensitive, though the canoni-
     cal 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. Conse-
     quently, 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 scan-
     codes, which has two implications: First, the key names  are  not	interna-
     tionalized  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  alpha-
     betic  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_mi-
     nus, 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 Im-
     pressive'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  au-
	    tomatic presentation is started with a 30-second page interval.

     auto-stop
	    Disable automatic presentation mode. If the current page has a time-
	    out  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,  un-
	    less 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 back-
	    ground 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  transi-
	    tion.

     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 tran-
	    sition.

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

     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 hy-
	    perlink  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 spot-
	    light.

     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 dis-
	    play 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 po-
	    sition.  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  ex-
	    plicitly  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,  fol-
     lowed 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 spec-
	    ified  events. For example, to make the Esc key in the default bind-
	    ings 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 spe-
     cial commands:

     clearall
	    Clears all current bindings.

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

     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  be-
     tween  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 prac-
     tice,  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 us-
     ing 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, ex-
     cept  for	the  additional  suffix  .info. Thus, a presentation file called
     BrandNewProduct.pdf would have a info script with	the  name  BrandNewProd-
     uct.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 di-
     rectory name was specified as the only argument, either a file  called  Di-
     rectoryName.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  di-
     rectory 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  dis-
     couraged,	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  Im-
     pressive. 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 win-
	    dow's title bar. If there is no title explicitly  specified  in  the
	    info  script, the title of the page will be extracted from PDF meta-
	    data 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  speci-
	    fies  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 cy-
	    cling 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 cy-
	    cle, 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 with-
	    out 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.  us-
	    ing  the  right  mouse button or the Page-Up key in the default map-
	    pings).

     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 num-
	    ber of milliseconds. Normally, the timeout will  only  be  effective
	    the  first	time  the  page  is shown unless wrap mode is used (com-
	    mand-line option -w or --wrap). This restriction makes  it	possible
	    to	create self-running presentations with individual per-page time-
	    outs.

     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  com-
	    mand 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 re-
	    set 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 cur-
	    rent setting as defined by the --zoomdarkness command line option or
	    run-time adjustments. Note that the value is not reset  to	the  de-
	    fault 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 Rasp-
	    berry Pi) to perform the actual playback, and embeds it into Impres-
	    sive'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  par-
	    ticularly 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 ref-
	    erence  or	lambda expression) that is executed when the page is en-
	    tered 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  ex-
	    pressions 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  re-
	    strictions	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-de-
	    fined key bindings with this method.

     invert
	    This property specifies whether the colors of that page shall be in-
	    verted 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 en-
     tries 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 avail-
     able)  PDF  metadata title will be used for this purpose, but the presenta-
     tion title can also be explicitly	set  by  overwriting  the  DocumentTitle
     variable:
	 DocumentTitle = "My Presentation"

     Another useful variable, AvailableTransitions, contains a list of all tran-
     sition 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 en-
     abled 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 set-
     tings 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 ex-
     pected 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>.

Martin J. Fiedler		   2023-11-04			   IMPRESSIVE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=impressive&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help