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 Impres-
       sive.

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  ef-
	      fect if caching is disabled (--cache none, see below).

       --background <color>
	      Sets the background color	of the overview	page and the page bor-
	      der  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	 hexa-
	      decimal  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 extrac-
	      tion, 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 pix-
	      els; 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  com-
		     pressed  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  be-
		     low  for an explanation), but with	a .cache file name ex-
		     tension 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  syn-
	      onyms.

       -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 in-
	      stead 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 cur-
	      rent 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  de-
	      fault  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 ar-
	      gument, refer to the Control Configuration section of  the  man-
	      ual.

       -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	deter-
	      mining the event names for each key when creating	a custom  con-
	      trol 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 follow-
	      ing order: (1.)True fullscreen mode, including setting the video
	      mode. This is the	default	mode. (2.)Windowed mode, where Impres-
	      sive  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 correspond-
	      ing long option that enables it directly	(--fullscreen,	--win-
	      dowed and	--fake-fullscreen).

       --fullscreen
	      Starts Impressive	in fullscreen mode (the	default). See the dis-
	      cussion 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 sys-
	      tems specifically). If this option is not	specified, any of  De-
	      jaVuSans.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 pix-
	      els).   If  xrandr  is  installed,  the  default screen size for
	      fullscreen mode is the current screen resolution;	on other plat-
	      forms, 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 con-
	      strained 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 presen-
	      tation.

       -H or --half-screen
	      This option makes	Impressive show	the overview page and OSD ele-
	      ments  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. Im-
	      pressive	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;	other-
	      wise, 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  de-
	      tails.
	      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 spec-
	      ified.

       --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 de-
	      fault, it	will show a timer with 1 second	resolution.

       --noblur
	      By default, Impressive uses a fragment shader to blur and	desat-
	      urate 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. Impres-
	      sive tries to detect scenarios where this	would happen and auto-
	      matically	falls back to a	different implementation.
	      There might be situations	where this mechanism fails and Impres-
	      sive 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 in-
	      teraction	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 dis-
	      play.  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  con-
	      trols  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  nar-
	      rowed 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  en-
	      tered 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	Ghost-
	      Script (gs or gs.exe) or Xpdf's pdftoppm utility must be	speci-
	      fied.

       -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 rela-
	      tion 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  de-
	      fault 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  ran-
	      domly draw at page changes can be	specified. If only one transi-
	      tion  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 ren-
	      dered 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 pre-
	      sentation.

       -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  con-
	      trols  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 Impres-
	      sive compute a page timeout (as with the --auto option) automat-
	      ically.  This results in a presentation that runs	automatically,
	      displaying each slide for	the same time, so that the desired to-
	      tal 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 per-
	      cent, 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.	Recog-
       nized 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 re-
       order 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  FFm-
       peg 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-sepa-
       rated 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 indi-
       cates 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  as-
       sume  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 ~/im-
       pressive/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 Impres-
       sive in a small window and not full-screen. This	can be done with some-
       thing 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	speci-
       fied  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 oper-
       ation.  Any  key	or mouse click (except for those that quit Impressive,
       typically Q and Esc) skips this process,	with the effect	 that  Impres-
       sive  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  ren-
       dered  yet. By default, Impressive will build up	the cache in the back-
       ground while the	presentation runs. Thus, the progress bar will not ap-
       pear and	the preparation	will only take the amount of time required  to
       render  the first two pages of the presentation.	After this initializa-
       tion 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 re-
	      turn to normal mode.

       LMB over	a PDF hyperlink
	      Jump  to	the page referenced by the hyperlink. Two types	of hy-
	      perlinks 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	hyper-
	      link 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)  de-
	      saturated	 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 config-
	      ured 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 presenta-
	      tion 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 time-
	      out 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 cor-
	      ner 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-ra-
	      dius 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  Im-
	      pressive'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). Impres-
	      sive will	re-render the page at the new resolution if the	graph-
	      ics  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 oper-
	      ations 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 cur-
	      rent  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 mini-
	      mized 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 be-
       low)  can  be  used to assign shortcuts to pages	that require quick ac-
       cess. 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 ver-
       satile 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 ac-
       tion is called a	binding. Multiple events can be	bound to the same  ac-
       tion (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  sin-
       gle  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
       canonical notation is lowercase.
       If an event or action specified on the command line or in a  configura-
       tion  file  is  not  recognized by Impressive, an error message will be
       written to the console and the offending	event or action	 will  be  ig-
       nored. Errors in	control	configuration are thus always non-fatal.

SUPPORTED EVENTS
       Keyboard	 events	are generally named after the keys they	refer to. Con-
       sequently, 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 nu-
       merical 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 al-
       phabetic	order):	ampersand, asterisk, at, backquote,  backslash,	 back-
       space,  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 nu-
       merical keypad. Other than that,	the names  should  be  reasonably  de-
       scriptive,  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-spe-
	      cific; 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 modi-
       fiers 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,  to-
       gether  with the	conditions under which they will match.	Note that most
       actions will not	match in overview mode and during video	playback,  un-
       less 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  in-
	      terval.

       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  but-
	      ton  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  bright-
	      ness) 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 tran-
	      sition.

       goto-last, goto-last-notrans
	      Go  to the last (i.e. most recently) visited page, with or with-
	      out 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 pre-
	      sentation, this page will	be activated with or without a transi-
	      tion. 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  cur-
	      rently selected one in the grid.

       overview-enter
	      When  not	in overview mode, zoom out of the current page,	enter-
	      ing 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 de-
	      fault 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 sec-
	      onds.

       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 config-
	      ured 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 asso-
	      ciated 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	graph-
	      ics  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 spec-
	      ified 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 de-
	      fault 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  op-
       tion or include statement is exactly the	same as	for the	ad-hoc config-
       uration option, except that individual bindings can be written on indi-
       vidual  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  follow-
       ing:  The  author of this program uses a	cheap presentation remote con-
       trol device that	has four cursor	keys, one "enter"  key	and  a	slider
       that  switches between keyboard and mouse mode. Mouse mode works	as ex-
       pected, 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 de-
       vice:

	     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	--con-
       trol-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, ei-
       ther a file called DirectoryName.info or	a file called .info inside the
       directory will be used, depending on whether a path separator was spec-
       ified at	the end	of the directory name or not - Impressive  simply  ap-
       pends .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  Impres-
       sive'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 Im-
       pressive	itself;	it's best to write them	in  a  way  that's  compatible
       with  both Python 2.7 (with the __future__ imports print_function, uni-
       code_literals and division) and Python  3.x.  Furthermore,  there's  no
       built-in	 security;  in	other  words: don't trust info scripts you re-
       ceived 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 render-
	      ing the transition to this page (i.e. between the	previous  page
	      and  this	 page)	can be specified. For pages lacking this prop-
	      erty, 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 millisec-
	      onds) 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.  Nor-
	      mally, there is no need to edit this by hand, as Impressive han-
	      dles this	automatically if the S key is pressed.

       timeout
	      If  a timeout property is	present	and the	page is	shown, Impres-
	      sive will	automatically switch to	the next page after the	speci-
	      fied 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  en-
	      tered.  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 dark-
	      ness  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 dark-
	      ness in box-zoom mode each time the page is entered. This	 over-
	      rides  the current setting as defined by the --zoomdarkness 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.

       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 in-
	      troduction.

       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 ex-
	      ample 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	 addi-
	      tion, it will not	overwrite the original info script, but	gener-
	      ate  an  extra  file  that  needs	to be merged with the original
	      script by	hand.

       keys
	      This property can	be assigned a dictionary that maps alphanumer-
	      ical keys	to Python functions. For example, 'keys': { 'x': Some-
	      Function } will invoke SomeFunction() if the lowercase character
	      'x' is typed while the page is displayed.	 Regarding  the	 func-
	      tions,  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 Page-
       Props. 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 Impres-
       sive 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 Page-
       Props), 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  impres-
       sive.py.	 Each  of these	variables corresponds either to	a command-line
       setting,	or to some constant related to visual  appearance  or  perfor-
       mance.  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 Prop-
       erties 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  pre-
       sentation.pdf.

AUTHOR
       Impressive  and	its documentation has been written mainly by Martin J.
       Fiedler <martin.fiedler@gmx.net>, with small portions of	the code writ-
       ten 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+14.3.quarterly>

home | help