You are on page 1of 18

Impressive Documentation

http://impressive.sourceforge.net/
Version: 0.10.5
Author: Martin J. Fiedler
Last updated: 2013-12-29
Table Of Contents
Description 1.
Installation 2.
Command Line Parameters 3.
Usage 4.
Info Scripts 5.
Other Useful Information 6.
Description
Impressive is a simple presentation program that displays slideshows of image les (JPEG,
PNG, TIFF and BMP) or PDF documents. Rendering is done via OpenGL, which allows for
some eye candy eects.
Installation
There are three basic ways to get an Impressive installation on your computer. The
following section will guide you through each of these methods.
The easy method: use a pre-built package
For Windows systems, a ZIP le with a pre-built version of Impressive and all required
external tools can be downloaded from the web site. There is no real installation procedure
the ZIP le can be extracted into any folder. One of the extracted le is called
impressive.exe. PDF les or directories containing images can simply dropped onto this le
in Explorer to run a presentation with default settings.
A more comfortable method is installing Impressive in the Send To menu that's part of
each le's context menu. This is done by opening the location shell:sendto in Explorer and
creating a shortcut to impressive.exe there. After that, a presentation can be started by
right-clicking a PDF le and selecting Send To Impressive.
Most GNU/Linux distributions oer Impressive as part of their standard package
repositories, among them Debian, Ubuntu, Fedora, OpenSUSE and Arch Linux. The package
is typically called impressive and will install all necessary dependencies.
On Mac OS X, there is a py-impressive package in the MacPorts repositories, but at the
time of writing, it's extremely outdated and thus not recommended.
In general, the easy method of installing the Windows ZIP or distribution package is simple
and convenient, but it has caveats: Releases of Impressive only happen in long and irregular
intervals, and the package maintainers may be a few versions behind. Recent features and
bugxes will thus not be available.
Using the source code release
Another way to get Impressive is downloading the platform-independent source code
Impressive http://impressive.sourceforge.net/manual.php
1 of 18 05/07/14 12:24
version. The most important le in this archive is impressive.py, which contains all the
code of Impressive and can be run like any executable on Unix-like systems. However, the
following external libraries and utilities have to be installed as well for Impressive to work:
Python 2.5 to 2.7 www.python.org (required) Python 3.x will not work!
PyGame (the SDL binding for Python) www.pygame.org (required)
PyOpenGL (the OpenGL binding for Python) pyopengl.sourceforge.net (required)
PIL, the Python Imaging Library www.pythonware.com/products/pil (required)
pdftk 1.44 or 1.45 for retrieving PDF metadata (page titles, hyperlinks)
www.accesspdf.com/pdftk (required)
Xpdf or the Poppler utilties for PDF rendering www.foolabs.com/xpdf/ or
http://poppler.freedesktop.org/ (required)
GhostScript for alternate PDF rendering www.cs.wisc.edu/~ghost (required if
neither Xpdf nor the Poppler utilities are available; optional otherwise)
xdg-utils for starting web or e-mail hyperlinks from PDF documents
portland.freedesktop.org (optional, not applicable on Win32)
PyWin32, the Python for Windows extensions pywin32.sourceforge.net (optional,
applicable on Win32 only)
MPlayer for sound and video playback www.mplayerhq.hu (optional)
On Unix-like systems, these dependencies are typically available in the major distributions'
package repositories and can be installed easily with the package managers, e.g.:
Debian/Ubuntu: aptitude install python-pygame python-opengl python-
imaging pdftk poppler-utils xdg-utils mplayer
Fedora: yum -i pygame PyOpenGL python-pillow pdftk poppler-utils
xdg-utils mplayer
Arch Linux with AUR: pacman -S python2-pygame python2-opengl python2-pillow
pdftk poppler xdg-utils mplayer
Mac OS X with MacPorts: port install py27-game py27-opengl py27-pil pdftk
poppler xdg-utils mplayer
Using the latest version from SVN
The source code of Impressive is maintained in a Subversion (SVN) repository. For users
that want the newest version or want to help with debugging or developing Impressive, it is
recommended to check out this repository:
svn co http://svn.emphy.de/impressive/trunk/impressive
Regarding external dependencies, the section above applies as well; in addition, Subversion
(whose package is usually called svn or subversion) is obviously required too.
After checking out the sources, the impressive.py program will still be missing. Instead,
the main program is called impressive_dev.py and is functionally equivalent; it pulls the
actual source les from the src subdirectory and runs them. To get an actual impressive.py
le for redistribution (or for putting it e.g. into /usr/local so it can be run from
everywhere), it needs to be generated using either make (if GNU Make is installed) or python
compile.py.
Command Line Parameters
When used from the command line (some terminal and shell in Unix, cmd.exe on
Windows), Impressive accepts a range of command-line options in GNU getopt syntax.
The following options are available (in alphabetical order):
Impressive http://impressive.sourceforge.net/manual.php
2 of 18 05/07/14 12:24
-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.
-A <X>:<Y> or --aspect <X>:<Y>
Species 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 eect if Xpdf is used
for rendering.
-b or --noback
Disabled background rendering. By default, Impressive will pre-render all pages in a
separate background thread while the presentation runs. If this option is specied, it
will instead render all pages immediately on startup. This option has no eect if
caching is disabled (--cache none, see below).
-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>
Species 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 y. 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).
disk
Like above, but uses a temporary le rather than memory for storage. This is the
default.
persistent
Uses a permanent cache le for caching. This le will not be deleted when
Impressive quits and will be reused on subsequent invocations. The default name
for the cache le is derived like the names for Info Scripts (see below for an
explanation), but with a .cache le 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 signicantly decreased if Impressive is ran again
with the same input les 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 the path to an image le (typically a transparent
.png) that shall be used as the mouse cursor instead of the default one. Optionally, the
hotspot may be specied (this is the position inside the cursor image where the real
Impressive http://impressive.sourceforge.net/manual.php
3 of 18 05/07/14 12:24
mouse position is located). Example: --cursor mycursor.png:2,4
--clock
If this option is enabled, the current time will be shown instead of the elapsed time if
time display is activated with the T key. Compatible with the -M option.
-d <time> or --duration <time>
Species 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 specied, Impressive will show a semi-transparent green
progress bar at the lower 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 in fullscreen mode if it is not
moved. Default value: 3000 ms.
--darkness <percentage>
Species how much the screen shall become darker when using highlight boxes or
spotlight mode. The value is specied 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 a
value of 100 would make everything but the highlighted parts of the screen black.
-e or --noext
OpenGL normally only supports textures with power-of-two dimensions. This means
that for a 1024x768 screen, the actual texture size will be 1024x1024, for 1600x1200
it will even be 2048x2048. To overcome this limit and save texture memory, Impressive
will automatically use the OpenGL extensions GL_ARB_texture_rectangle (available
on most graphics cards) or GL_ARB_texture_non_power_of_two (available on modern
graphics cards with current drivers). If these cause any trouble, the -e option may be
used to prevent Impressive from using the problematic extensions.
-f
Sets the window/fullscreen mode Impressive shall start up with. This option can be
specied multiple times; each times it is found, the next of the three options is
selected, in the follwing order:
True fullscreen mode, including setting the video mode. This is the default
mode.
Windowed mode, where Impressive runs in a standard window.
Fake-fullscreen mode, where fullscreen is emulated by uding a window
without border that lls 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).
Note: On Windows systems, toggling fullscreen mode while Impressive runs does not
work. So, the command-line options are the only way to set whether fullscreen mode
shall be used or not.
--fullscreen
Starts Impressive in fullscreen mode (the default). See the discussion of the -f option
for details.
Impressive http://impressive.sourceforge.net/manual.php
4 of 18 05/07/14 12:24
--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 le
(.ttf) to use for the OSD. If the path specied doesn't directly point to a useable font
le, Impressive will try to search the system font directories. On Unix-like systems, it
assumes that all fonts are stored below /usr/share/fonts, /usr/local/share/fonts
or /usr/X11R6/lib/X11/fonts/TTF for this purpose (the latter one is useful for Mac
OS X systems specically). If this option is not specied, Verdana.ttf will be used as a
default if the operating system is Windows, or any of DejaVuSans.ttf or Vera.ttf
(the typical le name of Bitstream Vera Sans) if it's not.
-g <width>x<height>[+<posX>+<posY>] or --geometry <width>x<height>[+<posX>+
<posY>]
Sets the screen size or resolution Impressive shall use (in pixels). On Win32 platforms
and Unix platforms with xrandrinstalled, 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 specied, 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. Using a multi-monitor setup with a wide virtual screen and specially crafted
slides (e.g. those that can be generated with LaTeX's beamer class), this makes it
possible to have presenter's notes on the second screen.
Note that transitions and animations are still operating on the whole screen, making
some of them (like PagePeel) look ugly. Impressive also disables the overview zoom
animation in half-screen mode; it can be re-enabled by explicitly setting it to another
value with a later command line option (--zoomtime).
Another limitation is that the allocation of the screen halves (slides left, overview right)
is xed.
-i <page> or --initialpage <page>
Species the page number to start with. The default value is 1 (start with the rst
Impressive http://impressive.sourceforge.net/manual.php
5 of 18 05/07/14 12:24
page). If another value is specied, the page shown by Impressive right after
initialization is not the rst one of the PDF or image list. Additionally, pre-rendering (if
enabled) will also start at the specied page.
-I <filename> or --script <filename>
Overrides automatic derivation of the info script lename and species a script le
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 at the bottom of the screen,
visualizing the timeout on pages that have one (either specied as a page property or
using the --auto command-line option). Nothing is done on pages that don't have a
timeout.
The progress bar shown by this option takes precedence over the --duration or
--page-progress bars: If one of these options is specied as well, the timeout
progress bar will be shown on pages with a timeout, and the other progress bar will be
shown on pages without one.
-l or --listtrans
If this option is specied, 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>
Species the OSD layout. Read below for an explanation of this option
--min-box-size <pixels>
This option sets the minimum size of a highlight box, in pixels. Boxes that are not this
many pixels wide and high are rejected in order to prevent accidental creation of
highlight boxes. The default value for this is 30 pixels.
-M or --minutes
If this option is set, Impressive will show the on-screen timer (activated with the [T]
key) only with 1 minute resolution. By default, it will show a timer with 1 second
resolution.
--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.
--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 unaected from this.
-o <directory> or --output <directory>
Do not display the presentation, but render it into a series of PNG image les inside the
specied directory. The images will be generated in the current resolution as specied
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 Xpdf installation: By generating
Impressive http://impressive.sourceforge.net/manual.php
6 of 18 05/07/14 12:24
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 nal 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..
-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 rst page in the range. All pages outside of the range will
not be shown on the overview page and will not be cached. However, they can be
entered manually when cycling through the presentation. Due to the fact that these
pages are uncached, preparation of the display will take considerably longer.
-P <path> or --gspath <path>
This option can be used to override the Xpdf / GhostScript path autodetection. The full
path to the executable of either GhostScript (gs or gs.exe) or Xpdf's pdftoppm utility
must be specied.
-q or --page-progress
If this option is enabled, Impressive will show a light-blue semi-transparent progress
bar at the lower edge of the screen that shows the position inside the presentation, i.e.
the relation between the current page number and the total number of pages. Note
that this progress bar will not be shown if the duration progress bar (-d option) is also
enabled.
-Q or --autoquit
If this option is specied, Impressive quits automatically when trying to navigate to the
page after the last page or the page before the rst page.
This option does not have any eect if --wrap is used.
-r <n> or --rotate <n>
Display all pages rotated by n90 degrees clockwise. Try -r 1 or -r 3 if there are
problems with PDFs generated by LaTeX on some Xpdf or GhostScript versions.
-R <X>x<Y> or --meshres <X>x<Y>
Most eects subdivide the visible screen into a mesh of rectangular or quadratic
pieces, each with its own coordinates and alpha blend values. Using this parameter,
Impressive http://impressive.sourceforge.net/manual.php
7 of 18 05/07/14 12:24
the resolution of the subdivision mesh can be dened. The default value is 48x36. On
slow machines, lower values like 24x18 or 12x9 can heavily speed up transition
rendering at the cost of visual quality. On the other hand, higher values like 64x48 or
96x72 improve quality, but use much more CPU cycles.
-s or --scale (image input only)
If a directory with image les 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 t 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
moir-like patterns in gradients.
-S <pixels> or --fontsize <pixels>
This option sets the size, in pixels, of the OSD font. The default value is 14.
--spot-radius <pixels>
This option sets the initial radius of the spotlight, in pixels. The default value is 64.
-t <ms> or --transition <trans1[,trans2...]>
Using this switch, the set of transitions Impressive will randomly draw at page changes
can be specied. If only one transition class is specied, 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.
-u <seconds> or --poll <seconds>
If this option is specied, the source le or directory will be checked for changes
regularly. If a change in the input PDF le or any of the image les in the input image
directory is detected, the page cache will be ushed 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 le 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 les must not have
disappeared.
-V <pixels> or --overscan <pixels>
PDF les often contain tiny amounts of white borders around the edges which look bad
in screen presentations. To eliminate this problem, Impressive uses overscan: PDF
les will not be rendered to t the screen size exactly, but they will be rendered a bit
larger so that the (possibly broken) borders can be cropped o. 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 rst page after the last page. In
Impressive http://impressive.sourceforge.net/manual.php
8 of 18 05/07/14 12:24
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.
--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 eect at the start of the presentation and a
fade-out eect just before Impressive quits.
-X or --shuffle
If this option is enabled, the input les will be shued into random order before
starting the presentation. The individual pages of PDF input les 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.
-z <factor> or --zoom <factor>
Sets the zoom factor that is used in zoom mode. It must be an integer value of at least
2. The default value is 2. Note that it might not be possible to get high-quality zooming
for large zoom factors due to hardware restrictions. Also, note that if the hardware
doesn't support non-power-of-two textures or if the -e option is used, the number must
be a power of two.
-Z <ms> or --zoomtime <ms>
Sets the duration (in milliseconds) of the overview page zoom-in/zoom-out eects.
Default value: 250 ms.
--cachefile <filename>
Activates persistent cache mode and species the name of the cache le to use.
Following the options, the input le name(s) must be specied. Recognized le types are
PDF, JPEG, PNG, TIFF, BMP and PGM/PPM. If the name of a directory is put on the command
line, all recognized image les (no PDF les!) in this directory will be played in alphanumeric
order (case-insensitive).
In addition, Impressive can use a text le containing a list of les or directories to show:
This text le must contain at most one le 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 le name, it will be used as the page's title. List le names must be prexed
with an at sign (@) on the command line, e.g. impressive @my_list_file.
Impressive will also expand wild-card characters (* and ?) if this isn't already done by the
shell, but apart from that, it will not reorder the arguments. Thus, it will show the documents
in the order specied at the command line.
Layout options
Impressive http://impressive.sourceforge.net/manual.php
9 of 18 05/07/14 12:24
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 oating-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 specications are composed by one character that indicates whether the text
shall be displayed at the top (T) or bottom (B) edge of the screen and one character that
indicates whether it shall appear on the left (L), on the right (R) or centered (C).
For example, the default OSD layout equals the following option string:
-L margin=16,alpha=1,time=TR,title=BL,page=BR,status=TL
Examples
The following examples illustrate some typical command lines. They assume that
Impressive can be run by simply typing impressive on the command line. Depending on
how Impressive is installed, this has to be substituted with the actual way to run Impressive
(e.g. python ~/impressive/impressive_dev.py for a fresh SVN checkout). Furthermore,
the le demo.pdf is used as the document to show here; obviously this has to be replaced
by the path to the actual PDF le too.
In the simplest case, Impressive is run directly with the name of the le to show and no
further parameters. This will start a full-screen presentation with all settings at their
defaults:
impressive demo.pdf
To just quickly check a slide deck, it might make sense to run Impressive in a small
window and not full-screen. This can be done with something like
impressive -f -g 800x600 demo.pdf
Impressive can also be used in digital signage scenarios, like displays in shop windows
with a permanent slideshow. This can be achieved by having Impressive advance to the next
page automatically after a specied 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
Impressive http://impressive.sourceforge.net/manual.php
10 of 18 05/07/14 12:24
then be rendered once. A bar in the lower half of the screen displays the progress of this
operation. Any key (except for Q and Esc) or mouse click skips this process, with the eect
that Impressive will render the remaining pages on demand. Please note that the overview
page will not be complete until every page has been rendered at least once. In other words,
if the precaching process was skipped, placeholders will be displayed for all pages that have
not been rendered yet. By default, Impressive will build up the cache in the background
while the presentation runs. Thus, the progress bar will not appear and the preparation will
only take the amount of time required to render the rst two pages of the presentation.
After this initialization process, Impressive will switch to the rst page directly and without
any transition. The following keyboard and mouse operations are available from this moment
on:
Esc key
Return from the currently active special mode (zoom, overview, spotlight, highlight
boxes); if no such special mode is active, quit Impressive altogether.
Q key
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 rst or last page of the presentation.
Ctrl key (modier)
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. Unfortunately, this does not work on Windows systems.
Tab key
Zoom back to the overview page. While in overview mode, a page can be selected with
the mouse and activated with the left mouse button. The right or middle mouse button
or the Tab key leave overview mode without changing the current page.
MMB (middle mouse button)
In normal display mode, this acts like the Tab key: it zooms back to the overview page.
If the page is zoomed in, it will return to normal mode.
LMB over a PDF hyperlink
Jump to the page referenced by the hyperlink. Two types of hyperlinks are supported:
Links that point to some other page of the same document, and URL hyperlinks like
Web links and e-mail addresses. This feature is only available if pdftk is installed.
Furthermore, xdg-open from the freedesktop.org Portland project is required for URL
Impressive http://impressive.sourceforge.net/manual.php
11 of 18 05/07/14 12:24
links on non-Win32 platforms. 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 dened on the current
page, the page itself will be shown in a darker and blurry rendition. Only the highlight
boxes will be displayed in their original lightness and sharpness.
If a page with highlight boxes is left, the boxes will be saved and restored the next time
this page is shown again.
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.
S key
Save the info script associated with the current presentation. The main purpose for this
is to permanently save highlight boxes or keyboard shortcuts, so they will be restored
the next time this presentation is started.
T key
Activate or deactivate the time display at the upper-right corner of the screen. If the
timer is activated while the very rst page of the presentation is shown, it activates
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.
R key
Reset the presentation timer.
C key
Removes (clears) all highlight boxes from the current page.
Return key or Enter key
Toggle spotlight mode. In this mode, the page is darkened in the same way as if
highlight boxes are present, but instead of (or in addition to) the boxes, a circular
spotlight will be shown around the mouse cursor position, following every motion of
the mouse cursor.
+ / key, 9 / 0 key or mouse wheel in spotlight mode
Adjust the spotlight radius.
Ctrl+9 or Ctrl+0 keys
Resets the spotlight radius to the default value, i.e. the value that has been set up by
the radius page property, the --spot-radius command-line option or Impressive's
built-in default.
7 / 8 key
Adjust the amount of darkening applied to the page in spotlight or highlight box mode.
Ctrl+7 or Ctrl+8 keys
Resets the amount of darkening in spotlight or highlight box mode to the default value,
i.e. the value that has been set up by the darkness page property, the --darkness
command-line option or Impressive's built-in default.
Z key
Toggle zoom mode. When this key is rst pressed, the current page will zoom in. The
Impressive http://impressive.sourceforge.net/manual.php
12 of 18 05/07/14 12:24
page will be displayed at double size, but in its original resolution (i.e. it will be blurry).
Impressive will re-render the page at the new resolution if the graphics hardware
supports it. During this time, Impressive will not accept any input, so don't even think
about clicking the mouse or pressing keys before the image gets crisp again.
In zoom mode, all other functions will work as normal. Any operations that leave the
current page, such as ipping 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 ag 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 eect the next time the presentation is started.
I key
This will toggle the skip ag 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 RMB (right mouse button) in zoom mode
Move the visible part of the page in zoom mode.
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 other alphanumeric (A-z, 0-9) or function key (F1-F12) 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 sucient to
press the shortcut key again. Shortcuts can be permanently stored with the S key.
Info Scripts
Impressive oers a powerful way to customize individual presentations using so-called info
scripts. An info script is a text le having the same name and located in the same directory
as the presentation le itself, except for the additional sux .info. Thus, a presentation le
called BrandNewProduct.pdf would have a info script with the name
BrandNewProduct.pdf.info. If multiple arguments were specied on the command line, the
info script will be called just .info (a dot le, so to speak). If a directory name was specied
as the only argument, either a le called DirectoryName.info or a le called .info inside
Impressive http://impressive.sourceforge.net/manual.php
13 of 18 05/07/14 12:24
the directory will be used, depending on whether a path separator was specied at the end
of the directory name or not Impressive simply appends .info to whatever the input path
name was.
In any case, the default le 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 to write real interactive applications using info
scripts.) Thus, 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 denes the properties of each page. At the moment, the
following properties are dened:
title
Each page can have a title that is displayed in the Impressive window's title bar. If
there is no title explicitly specied in the info script, the title of the page will be
extracted from PDF metadata if pdftk is installed, or the image le 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 between
this page and the following page can be specied. 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 between this page and the
following page shall be shown.
overview
This property holds a boolean value (0/False or 1/True) that species whether the
page shall be included in the overview page. If this property isn't specied, 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.
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 specied number of milliseconds. Normally, the
Impressive http://impressive.sourceforge.net/manual.php
14 of 18 05/07/14 12:24
timeout will only be eective the rst 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 dened, will be used to set a new spotlight
radius every time the page is entered. This overrides the current setting as dened 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 oating-point percentage value that, if dened, 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 dened 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.
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
Species the le name of a sound le to be played (via MPlayer) when the page is rst
entered. Once started, the sound will be played until its end is reached, another sound
or video is played, or Impressive is exited.
video
Species the le name of a video le to be played when the page is rst 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 le, and space, which can be used to
pause playback. Note that this function is highly experimental and might not work
reliably on every system!
always
If this property is present and set to 1 or True, the media le specied in the sound or
video properties will be played every time the page is entered, not just the rst time.
progress
If this property is set to zero, the presentation progress bar (which is usually set up
with the -d/--duration command line switch) will not be shown on this page. In
practice, it might be useful to hide the bar from the rst page so that it is 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 rst time. Again, this is
particularly useful on the rst page: A combination of progress:False,
reset:FirstTimeOnly makes it possible to set up the presentation long before it
actually begins the rst 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 species
Impressive http://impressive.sourceforge.net/manual.php
15 of 18 05/07/14 12:24
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 rst time. The callable must
not take any arguments. This feature can be used to associate arbitrary Python code
with specic pages, for example to execute external programs.
Warning: Lambda expressions cannot be properly processed by the Info Script save
function (S key). If Impressive encounters lambda expressions when saving, it will
remove them. In addition, it will not overwrite the original info script, but generate an
extra le that needs to be merged withe the original script by hand.
keys
This property can be assigned a dictionary that maps alphanumerical keys to Python
functions. For example, 'keys': { 'x': SomeFunction } will invoke SomeFunction()
if the lowercase character 'x' is typed while the page is displayed. Regarding the
functions, the same restrictions as for the OnEnter/OnLeave family apply: the function
must not take any parameters and lambda functions can not be saved. Also note that it
is not possible to overwrite Impressive's pre-dened key bindings with this method.
invert
This property species 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 specied on the command line.
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 denition (and only the PageProps denition) will be rewritten by
Impressive if the S key is pressed. User-dened PageProps entries will also be left untouched,
except for some pretty-printing.
Global Presentation Properties
The name of the presentation is shown in the title bar of the Impressive window (if not in
fullscreen mode). By default, the le 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"
Impressive http://impressive.sourceforge.net/manual.php
16 of 18 05/07/14 12:24
Another useful variable, AvailableTransitions, contains a list of all transition classes
that may be used for randomly assigning transitions to pages lacking the transition
property. Thus, if a certain transition is undesired (either because of personal dislike or
because it shall be used exclusively on pages where it is manually assigned using
PageProps), something like the following can be written:
AvailableTransitions.remove(WipeBlobs)
On the other side, it's possible to activate transitions that are not enabled by default:
AvailableTransitions += [SlideUp, SlideDown]
Alternatively, AvailableTransitions can be completely overwritten to have the same
transition (or set of transitions) assigned to all pages:
AvailableTransitions = [Crossfade]
Option Overrides
Another use of info scripts is overriding the default or command-line settings on a per-le
basis. This can be done by simply overwriting one of the variables that are dened 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 le 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 le music.mp3 is expected to be located in the same directory as
presentation.pdf.
Other Useful Information
Useful Third-Party Tools and Distributions
Liviu Andronic is maintaining PPAs for Ubuntu that contain the newest stable and
development versions of Impressive. They can be added using the commands
sudo add-apt-repository ppa:landronimirc/impressive (release versions) or
sudo add-apt-repository ppa:landronimirc/impressive-svn (nightly builds).
Joel Berger has written a Perl script that extracts transition information from special
comments in LaTeX beamer source les and generates a Impressive info script from the
gathered information: makebeamerinfo.
Juan Carlos Paco has written a very simple graphical interface for Impressive that runs on
Debian and Ubuntu systems, called GUImpressive.
Another GUI comes from B. Pratibha, called BOSS Presentation Tool.
License
Impressive is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
Impressive http://impressive.sourceforge.net/manual.php
17 of 18 05/07/14 12:24
This program is distributed in the hope that it will be useful, but without any warranty;
without even the implied warranty of merchantability or tness for any particular purpose.
See the GNU General Public License for more details.
Contact
You can always contact the author of Impressive to send him ...
bug reports
feature suggestions
fan mail
corrections regarding the web page (I'm not a native speaker any grammatical,
ortographical or stylistic corrections or suggestions are welcome!)
new silly quotations for the web page's title bar :)
Impressive http://impressive.sourceforge.net/manual.php
18 of 18 05/07/14 12:24

You might also like