Provided by: impressive_0.13.1-1.1_all 

NAME
Impressive - presentation tool with eye candy
SYNOPSIS
impressive [OPTIONS...] FILES...
DESCRIPTION
Impressive is a simple presentation program that displays slideshows of PDF documents, image files or
video files. Rendering is done via OpenGL, which allows for some "eye candy" effects.
A somewhat-modern GPU (graphics processing unit) supporting OpenGL 2.0 or OpenGL ES 2.0 and appropriate
drivers are required to run Impressive.
OPTIONS
-a <seconds> or --auto <seconds>
Automatically advance to the next page after the given number of seconds. Together with the -w
option (described below), this can be used to create automatic slideshows.
Note that this option will not interrupt video playback: If a video is longer than the interval
specified with --auto, it will be played until the end, but Impressive will change to the next
page directly after that.
-A <X>:<Y> or --aspect <X>:<Y>
Specifies the display aspect ratio. Normally, Impressive assumes that the pixel aspect ratio is
1:1 (square pixels), regardless of the display resolution that has been set up. If a resolution
has been selected that doesn't match the display's aspect ratio, the screen will be distorted. To
overcome this, this option may be used to manually specify the display aspect ratio, e.g. "-A
16:9". Note that this option has no effect if the MuPDF backend is used for rendering.
-b or --noback
Disables background rendering. By default, Impressive will pre-render all pages in a separate
background thread while the presentation runs. If this option is specified, it will instead render
all pages immediately on startup. This option has no effect if caching is disabled (--cache none,
see below).
--background <color>
Sets the background color of the overview page and the page border that's visible if the page's
and the screen's aspect ratios don't match.
The color is specified using HTML/CSS 3-digit or 6-digit hexadecimal RGB syntax: #f00 or #ff0000
is bright red, for example. The leading hash sign (#) is optional. In addition, the words black
(which is also the default) and white are recognized.
-bare
Disables all functionality that relies on temporary files, specifically video frame extraction
using MPlayer (extracting video frames with FFmpeg still works), PDF page title extraction, PDF
hyperlinks, and even PDF rendering for all backends except MuPDF 1.4 or newer on Unix-like
operating systems.
--box-edge <pixels>
Sets the border size (in pixels when unzoomed) of the highlight boxes' and spotlight's smooth
edges. The default value is 4 pixels; it can be set to zero, in which case highlight boxes and the
spotlight will have hard edges.
-B <ms> or --boxfade <ms>
Sets the duration (in milliseconds) of the highlight box fade-in/fade-out animation. Default
value: 100 ms.
-c <mode> or --cache <mode>
Specifies the page cache mode to use. Valid options are:
none
Disables page caching altogether, only the current and the following page will be kept in
RAM. Jumping between pages will be very slow, because Impressive will need to render the
requested pages on the fly. In addition, the overview page won't be complete until every
page has been shown at least once.
memory
Caches all page images in memory. This is the fastest method, but it requires very large
amounts of memory (about 3 MiB per page at 1024x768 resolution).
compressed or z
Caches all page images in memory as well, but in compressed form. This will be a little
slower than memory mode, but on pages with uniform backgrounds, this will easily reduce the
required amount of RAM by a factor of 20.
disk
Like memory, but uses a temporary file rather than memory for storage. This is the default.
persistent
Uses a permanent cache file for caching. This file will not be deleted when Impressive
quits and will be reused on subsequent invocations. The default name for the cache file is
derived like the names for Info Scripts (see below for an explanation), but with a .cache
file name extension instead of .info. This method is a little bit slower than disk mode,
but the time span until the overview page is fully populated will be significantly
decreased if Impressive is ran again with the same input files and options.
The mode name may be abbreviated at will, down to one character. Thus, --cache persistent, -c
persist and even -cp are all synonyms.
-C <filename>[:<X>,<Y>] or --cursor <filename>[:<X>,<Y>]
This option can be used to specify an image that shall be used as a (software) mouse cursor
instead of the normal (hardware) one. It can either be a name of an image file (typically a
transparent .png) or one of the special values "-" (dash) or "default", both of which select a
built-in cursor image. On platforms that do not support a hardware cursor, this default cursor
will also be used as a default if this option is not used.
If the name of an external file is specified, the position of the hotspot (the pixel inside the
cursor where the actual mouse position is located) can be specified as well, for example: --cursor
mycursor.png:2,4.
--clock
If this option is enabled, the current time will be shown instead of the elapsed time if time
display is activated (with the T key in the default control configuration). Compatible with the -M
option.
--control-help
This option will output a short help screen of how the control configuration (keyboard and mouse
bindings) work, along with a list of all recognized events and actions and a dump of the current
bindings (which is the default configuration if no other -e/--bind or -E/--controls options
precede this option). After that, Impressive will exit; no presentation will be started.
-d <time> or --duration <time>
Specifies the expected run time of the presentation. The time parameter can be either a number of
seconds or a human-readable time like 1:23 (1 minute and 23 seconds), 4:56h (4 hours and 56
minutes), 3m45s (3 minutes and 45 seconds), 5m (5 minutes) or 1:23:45 (1 hour, 23 minutes and 45
seconds).
If an expected duration is specified, Impressive will show a semi-transparent green progress bar
at the bottom edge of the screen, indicating how much time has already passed. If the time is up,
the bar will occupy the whole edge and fade to yellow (at 125% of the expected time) to red (at
150% or more).
-D <ms> or --mousedelay <ms>
Sets the time (in milliseconds) the mouse cursor is shown if it is not moved. There are two
special values: 0 (zero) shows the mouse cursor permanently, 1 (one) hides it completely. The
default value is 3000 ms if Impressive is started in fullscreen mode, and 0 (i.e. don't hide) if
started in windowed mode.
--darkness <percentage>
Specifies how much the screen shall become darker when using highlight boxes or spotlight mode.
The value is specified in percent, with 25 being the default. A value of zero would mean no
darkening at all (the screen would just be blurred slightly, and desaturated if the graphics
hardware supports it), and a value of 100 would make everything but the highlighted parts of the
screen black.
-e <bindings> or --bind <bindings>
Configures keyboard or mouse bindings. For the syntax of the argument, refer to the Control
Configuration section of the manual.
-E <filename> or --controls <filename>
Loads a configuration file for keyboard and mouse bindings. For the syntax of these files, refer
to the Control Configuration section of the manual.
--evtest
If this option is specified, Impressive will not start a normal presentation, but instead enter
the so-called "Event Test Mode" after the display has been initialized. In this mode, Impressive
will simply capture all keyboard and mouse events and display the name of the last event on the
screen. In addition, events will be logged to standard output. This mode helps with determining
the event names for each key when creating a custom control configuration (see the Control
Configuration section).
-f
Sets the window/fullscreen mode Impressive shall start up with. This option can be specified
multiple times; each times it is found, the next of the three options is selected, in the
following order: (1.)True fullscreen mode, including setting the video mode. This is the default
mode. (2.)Windowed mode, where Impressive runs in a standard window. (3.)"Fake-fullscreen" mode,
where fullscreen is emulated by using a window without border that fills the whole screen. Setting
the display resolution is not possible in this mode. Each of these modes has a corresponding long
option that enables it directly (--fullscreen, --windowed and --fake-fullscreen).
--fullscreen
Starts Impressive in fullscreen mode (the default). See the discussion of the -f option for
details.
--fake-fullscreen
Starts Impressive in "fake fullscreen" mode. See the discussion of the -f option for details.
-F <file> or --font <file>
Impressive uses some kind of text OSD to overlay the current page number and title (if available)
on the overview page. This option can be used to specify a TrueType font file (.ttf) to use for
the OSD. If the path specified doesn't directly point to a useable font file, Impressive will try
to search the system font directories. It assumes that all fonts are stored below /usr/share/
fonts, /usr/local/share/fonts or /usr/X11R6/lib/X11/fonts/TTF for this purpose (the latter one is
useful for Mac OS X systems specifically). If this option is not specified, any of DejaVuSans.ttf
or Vera.ttf (the typical file name of Bitstream Vera Sans) will be used as a default.
-g <width>x<height>[+<posX>+<posY>] or --geometry <width>x<height>[+<posX>+<posY>]
Sets the screen size or resolution Impressive shall use (in pixels). If xrandr is installed, the
default screen size for fullscreen mode is the current screen resolution; on other platforms,
Impressive uses the highest resolution available to the graphics system. If a standard resolution
cannot be determined, the default is 1024x768 pixels. This is also the default for windowed mode.
Furthermore, if the additional parameters posX and posY are present, they specify the position of
the upper-left corner of the window (relative to the upper-left corner of the desktop), in pixels,
for windowed and fake-fullscreen mode. The values are ignored in "true" fullscreen mode.
-G <gamma>[:<blacklevel>] or --gamma <gamma>[:<blacklevel>]
Sets up the startup gamma and (optional) black level value. The black level is the original
image's intensity level (0...254) that is to be mapped to black in Impressive's output. Note that
gamma and black level adjustments may be unavailable or constrained on some systems.
-h or --help
If this option is specified, Impressive writes a short command line help screen to standard output
and does not start a presentation.
-H or --half-screen
This option makes Impressive show the overview page and OSD elements on the right half of the
screen only. The overview page will only show the left half of the slides as previews. The
box-zoom boxes will also be shown on the left half. Using a multi-monitor setup with a wide
virtual screen and specially crafted slides (e.g. those that can be generated with LaTeX's beamer
class), this makes it possible to have presenter's notes on the second screen.
Note that transitions and animations are still operating on the whole screen, making some of them
(like PagePeel) look ugly. Impressive also disables the overview zoom animation in half-screen
mode; it can be re-enabled by explicitly setting it to another value with a later command line
option (--zoomtime).
Another limitation is that the allocation of the screen halves (slides left, overview right) is
fixed.
-i <page> or --initialpage <page>
Specifies the page number to start with. The default value is 1 (start with the first page). If
another value is specified, the page shown by Impressive right after initialization is not the
first one of the PDF or image list. Additionally, pre-rendering (if enabled) will also start at
the specified page.
-I <filename> or --script <filename>
Overrides automatic derivation of the info script filename and specifies a script file directly.
--invert
This option makes Impressive invert the colors of each page, turning black to white and
vice-versa. Note that it is a full RGB inversion, so it will, for example, turn dark green to
light purple (and vice-versa) too.
-k or --auto-progress
This option makes Impressive show a progress bar, visualizing the timeout on pages that have one
(either specified as a page property or using the --auto command-line option). Nothing is done on
pages that don't have a timeout.
If the --duration or --page-progress bars are enabled too, the --auto-progress bar is shown on the
top of the screen; otherwise, it's shown on the bottom.
-l or --listtrans
If this option is specified, Impressive writes a list of all available transition classes to
standard output and does not start a presentation. Transitions that are enabled by default are
marked with a star (*) left of the class name.
-L <spec> or --layout <spec>
Specifies the OSD layout. Read below for an explanation of this option.
--maxzoom <factor>
The maximum zoom factor up to which Impressive shall attempt to render a high-resolution image of
the page when zoomed in. This can be any real number larger than or equal to 1.0; the default is
5.0. A setting of 1.0 causes Impressive to never render a high-resolution image for zooming; in
this case, the zoom and box-zoom modes will upscale the image, but not enhance any details.
Note that regardless of this setting, Impressive always checks the graphics hardware capabilities
(in particular, the maximum supported texture size) and may reduce the effective value of
--maxzoom if the hardware supports less than what has been specified.
--min-box-size <pixels>
This option sets the minimum size of a highlight box, in pixels. Boxes that are not this many
pixels wide and high are rejected in order to prevent accidental creation of highlight boxes. The
default value for this is 30 pixels.
-M or --minutes
If this option is set, Impressive will show the on-screen timer (activated with the T key) only
with 1 minute resolution. By default, it will show a timer with 1 second resolution.
--noblur
By default, Impressive uses a fragment shader to blur and desaturate the image when in highlight
box or spotlight mode. This is usually the faster and nicer-looking method; however, some very old
hardware implementations can't deal with that shader and fall back to an unusably slow software
implementation. Impressive tries to detect scenarios where this would happen and automatically
falls back to a different implementation.
There might be situations where this mechanism fails and Impressive tries to use the
non-functional shader anyway. In these cases, the --noblur option can be used to enforce the
fallback implementation.
-N or --nocursor
This option disables any display of a mouse cursor, i.e. neither the system ("hardware") not
bitmap ("software") cursor is shown at any time. It it equivalent to setting --mousedelay to 1.
This is mainly useful for automated presentations, where no mouse interaction is needed.
--noclicks
If this option is enabled, switching to the previous or next page with the left and right mouse
buttons is deactivated. The keyboard shortcuts are unaffected from this.
Note that this option only works as intended when the default controls are used. If the -e/--bind
or -E/--controls options have been used, --noclicks might not have the intended effect.
--nologo
This option disables the Impressive logo and version number display. Instead, the loading screen
will be just black or, if background rendering is disabled, only the progress bar will be visible.
--nooverview
This option disables the overview page. Overview thumbnails are not created, and the Tab that
normally enters overview mode is ignored. (More precisely, the overview-enter action is ignored.)
--noquit
This option disables the keyboard shortcuts (Q and Esc) that could normally quit Impressive with a
single keypress. If it is used, the only way to exit the program is the key combination Alt+F4,
and accidental quitting is no longer possible.
Note that this option only works properly if the default controls are used. If the -e/--bind or
-E/--controls options have been used, --noquit might not have the intended effect.
-o <directory> or --output <directory>
Do not display the presentation, but render it into a series of PNG image files inside the
specified directory. The images will be generated in the current resolution as specified by the -g
option. This option is useful if the presentation is to be given on on a foreign PC with an old,
broken or otherwise problematic MuPDF/Xpdf/GhostScript installation: By generating images of the
PDF pages, is is made sure that no rendering bugs will happen on the target system.
-O <mode> or --autooverview <mode>
Enables or disables automatic derivation of whether a page shall or shall not be shown on the
overview page. This feature is based on the fact that some LaTeX presentation packages tag all
pages with a title (that can be read by Impressive with the help of pdftk), except those that
contain multiple reveal steps.
The following modes are available:
off
Disables automatic overview mode. All pages will be shown on the overview page by default.
This is also the default setting.
first
All pages with a PDF title will be shown on the overview page. The purpose is to show the
initial state of multi-step slides on the overview page.
last
All pages before a page with a PDF title will be shown on the overview page. The purpose is
to show the final state of multi-step slides on the overview page.
Again, the mode may be abbreviated arbitrarily, down to one character, just like with the -c
option above..
--overtime <ms>
Sets the duration (in milliseconds) of the overview page zoom-in/zoom-out effects, without
affecting the zoom or box-zoom animation time. Default value: 250 ms.
-p <start>-<end> or --pages <start>-<end>
Using this option, the range of the page displayed can be narrowed down. The presentation will
start at the first page in the range. All pages outside of the range will not be shown on the
overview page and will not be cached. However, they can be entered manually when cycling through
the presentation. Due to the fact that these pages are uncached, preparation of the display will
take considerably longer.
-P <path> or --gspath <path>
This option can be used to override the Xpdf / GhostScript path autodetection. The full path to
the executable of either GhostScript (gs or gs.exe) or Xpdf's pdftoppm utility must be specified.
-q or --page-progress
If this option is enabled, Impressive will show a light-blue semi-transparent progress bar at the
bottom edge of the screen that shows the position inside the presentation, i.e. the relation
between the current page number and the total number of pages.
If the -d/--duration progress bar is enabled too, the --page-progress bar will be stacked above
that.
--progress-last <number>
This option sets the page number at which the slide the --page-progress progress bar should end.
This can be useful to ignore backup slides.
This option does not have any effect if -q/--page-progress is not used.
-Q or --autoquit
If this option is specified, Impressive quits automatically when trying to navigate to the page
after the last page or the page before the first page.
This option does not have any effect if --wrap is used.
-r <n> or --rotate <n>
Display all pages rotated by nx90 degrees clockwise. Try -r 1 or -r 3 if there are problems with
PDFs generated by LaTeX on some Xpdf or GhostScript versions.
-s or --scale (image input only)
If a directory with image files is used as input, Impressive will scale down images that are too
big for the screen. But by default, it will not scale up smaller images to fit the screen; it will
leave a black border instead. This option overrides this setting and enables upscaling of smaller
images.
-s or --supersample (PDF input only)
This switch enables antialiasing by 4x supersampling instead of the normal multisampling method
used by Xpdf or GhostScript. While this usually degrades both visual quality and performance, it
may be necessary for circumventing white strips or moire-like patterns in gradients.
-S <pixels> or --fontsize <pixels>
This option sets the size, in pixels, of the OSD font. The default value is 14.
--spot-radius <pixels>
This option sets the initial radius of the spotlight, in pixels. The default value is 64.
--time-display
This option enables display of the elapsed presentation time, as if the T key has been pressed
immediately after startup. This implies time tracking mode (--tracking option).
-t <trans1[,trans2...]> or --transition <trans1[,trans2...]>
Using this switch, the set of transitions Impressive will randomly draw at page changes can be
specified. If only one transition class is specified, this class will be used for all pages that
do not have another transition explicitly assigned in their page properties. Multiple transitions
have to be separated by commas; they will be used in random order. The -l option can be used to
get a list of available transitions.
-T <ms> or --transtime <ms>
Sets the duration (in milliseconds) of page transitions. 0 (zero) disables transitions altogether.
Default value: 1000 ms.
--tracking
This option enables time tracking mode. In this mode, a report of all pages visited with their
display duration, enter and leave times will be written to standard output. This can be very
useful when preparing presentations.
-u <seconds> or --poll <seconds>
If this option is specified, the source file or directory will be checked for changes regularly.
If a change in the input PDF file or any of the image files in the input image directory is
detected, the page cache will be flushed and the current page as well as the info script will be
reloaded. The current page's transition will be shown between the old and the new version of the
page.
The new PDF file must have at least as much pages as the old one; also, it should have the same
aspect ratio. If the input is a directory, image files must not have disappeared.
-v or --verbose
This option makes Impressive more verbose, i.e. it will print slightly more informational messages
than usual.
-V <pixels> or --overscan <pixels>
PDF files often contain tiny amounts of white borders around the edges which look bad in screen
presentations. To eliminate this problem, Impressive uses "overscan": PDF files will not be
rendered to fit the screen size exactly, but they will be rendered a bit larger so that the
(possibly broken) borders can be cropped off. The amount of overscan, in screen pixels, can be set
with this option. The default value is 3 pixels, which should remove borders in most presentations
at most common screen resolutions without cropping the pages too much.
-w or --wrap
If this option is set, Impressive will "wrap" over to the first page after the last page. In other
words, advancing to the next page at the end of the presentation will restart the whole
presentation.
-W or --nowheel
By default, it is possible to change pages using the mouse wheel. This option disables this
behavior, which can be useful to prevent spurious page changes if the mouse wheel is likely to be
moved by accident. In addition, it makes it possible to enter zoom mode with the mouse wheel.
Note that this option only works properly if the default controls are used. If the -e/--bind or
-E/--controls options have been used, --nowheel might not have the intended effect.
--windowed
Starts Impressive in windowed mode. See the discussion of the -f option for details.
-x or --fade
This option enables a smooth fade-in effect at the start of the presentation and a fade-out effect
just before Impressive quits.
-X or --shuffle
If this option is enabled, the input files will be shuffled into random order before starting the
presentation. The individual pages of PDF input files will stay in their original order, though,
so this option is mainly useful for image presentations.
-y or --auto-auto
This option can be used together with --duration to have Impressive compute a page timeout (as
with the --auto option) automatically. This results in a presentation that runs automatically,
displaying each slide for the same time, so that the desired total duration will be reached
(almost) exactly. One exception is the runtime of videos, which is not taken into account.
--zbox-edge <pixels>
Sets the border size (in pixels when unzoomed) of the box-zoom boxes' smooth edges. The default
value is 1 pixel; it can be set to zero, in which case the box-zoom area will have a hard edge.
-z <factor> or --zoom <factor>
Sets the scaling factor that is used in zoom mode. It can be any real value above 1.0; the default
value is 2.0. Note that it might not be possible to get high-quality zooming for large zoom
factors due to hardware restrictions. Furthermore, please be aware that after leaving zoom mode,
the image quality of the normal page display may be slightly degraded until another page is
displayed if a zoom factor other than 2.0 is used.
--zoomdarkness <percentage>
Specifies how much the non-selected parts of the screen shall become darker in box-zoom mode. The
value is specified in percent, with 90 being the default. A value of zero would mean no darkening
at all (parts outside of the zoom box would still be perfectly visible), and a value of 100 would
make everything but the selected region black.
-Z <ms> or --zoomtime <ms>
Sets the duration (in milliseconds) of the zoom, box-zoom and overview page zoom-in/zoom-out
effects, all at once. Default value: 250 ms.
If separate animation time settings for overview zoom and zoom/box-zoom are desired, the -Z/
--zoomtime option must be specified before the --overtime option.
--cachefile <filename>
Activates persistent cache mode and specifies the name of the cache file to use.
ARGUMENTS
Following the options, the input file name(s) must be specified. Recognized file types are PDF, image
files (JPEG, PNG, TIFF, BMP, PGM/PPM) and video files (AVI, MOV/MP4, MKV/WebM, OGV, MPEG, M2TS, FLV). If
the name of a directory is put on the command line, all recognized image files (no PDF files!) in this
directory will be played in alphanumeric order (case-insensitive).
In addition, Impressive can use a text file containing a list of files or directories to show: This text
file must contain at most one file name per line; every character after a hash sign (#) is treated as a
comment and will be ignored. If such a comment is put on the same line as an image file name, it will be
used as the page's title. List file names must be prefixed with an at sign (@) on the command line, e.g.
impressive @my_list_file.
Impressive will also expand wild-card characters (* and ?) if this isn't already done by the shell, but
apart from that, it will not reorder the arguments. Thus, it will show the documents in the order
specified at the command line.
If video files are specified on the command line, Impressive generates presentation pages for them just
like it does for image files. If FFmpeg or MPlayer are installed, the page will be shown as a screenshot
of the first video frame. When entering such a page, the video will be played back if a suitable player
(MPlayer, or omxplayer on Raspberry Pi) is installed.
LAYOUT OPTIONS
The OSD layout option (-L/--layout) accepts a string with comma-separated key=value pairs. The following
keywords are recognized:
alpha
The opacity of the OSD text, either as a floating-point value between 0 and 1 or a percentage
between 2 and 100.
margin
The distance (in pixels) of the OSD text to the screen borders.
time
The position of the timer.
title
The position of the page title in overview mode.
page
The position of the page number in overview mode.
status
The position of the status line.
The position specifications are composed by one character that indicates whether the text shall be
displayed at the top (T) or bottom (B) edge of the screen and one character that indicates whether it
shall appear on the left (L), on the right (R) or centered (C).
For example, the default OSD layout equals the following option string:
-L margin=16,alpha=1,time=TR,title=BL,page=BR,status=TL
EXAMPLES
The following examples illustrate some typical command lines. They assume that Impressive can be run by
simply typing "impressive" on the command line. Depending on how Impressive is installed, this has to be
substituted with the actual way to run Impressive (e.g. "python ~/impressive/impressive_dev.py" for a
fresh SVN checkout). Furthermore, the file "demo.pdf" is used as the document to show here; obviously
this has to be replaced by the path to the actual PDF file too.
In the simplest case, Impressive is run directly with the name of the file to show and no further
parameters. This will start a full-screen presentation with all settings at their defaults:
impressive demo.pdf
To just quickly check a slide deck, it might make sense to run Impressive in a small window and not
full-screen. This can be done with something like
impressive -f -g 800x600 demo.pdf
Impressive can also be used in digital signage scenarios, like displays in shop windows with a permanent
slideshow. This can be achieved by having Impressive advance to the next page automatically after a
specified time (e.g. 10 seconds) and re-start the presentation from the start after the last slide:
impressive -a 10 -w demo.pdf
USAGE
On startup, Impressive will display a black screen with the program logo at the center. If caching is
enabled, but background rendering is disabled, all pages of the presentation will then be rendered once.
A bar in the lower half of the screen displays the progress of this operation. Any key or mouse click
(except for those that quit Impressive, typically Q and Esc) skips this process, with the effect that
Impressive will render the remaining pages on demand. Please note that the overview page will not be
complete until every page has been rendered at least once. In other words, if the precaching process was
skipped, placeholders will be displayed for all pages that have not been rendered yet. By default,
Impressive will build up the cache in the background while the presentation runs. Thus, the progress bar
will not appear and the preparation will only take the amount of time required to render the first two
pages of the presentation. After this initialization process, Impressive will switch to the first page
directly and without any transition.
DEFAULT CONTROLS
The keyboard and mouse controls used by Impressive are configurable (with very few exceptions). The
default controls are as follows:
Esc key
Return from the currently active special mode (zoom, box-zoom, overview, spotlight, highlight
boxes); if no such special mode is active, quit Impressive altogether.
Q key or Alt+F4
Quit Impressive immediately.
LMB (left mouse button), mouse wheel down, Page Down key, Cursor Down key, Cursor Right key or Spacebar
Go to the next page (using a transition).
RMB (right mouse button), mouse wheel up, Page Up key, Cursor Up key, Cursor Left key or Backspace key
Go to the previous page (using a transition).
Home key / End key
Go directly to the first or last page of the presentation.
Ctrl key (modifier)
If one of the page navigation keys (Page Up/Down, Cursor keys, Space, Backspace, Home, End) is
pressed while the Ctrl key is held down, the destination page will be entered immediately, without
a transition.
L key
Return to the last (most recently displayed) page. This can be used to toggle back and forth
between two pages.
F key
Toggle fullscreen mode.
Tab key
Zoom back to the overview page. While in overview mode, a page can be selected with the mouse and
activated with the left mouse button. The right or middle mouse button or the Tab key leave
overview mode without changing the current page.
MMB (middle mouse button)
In normal display mode, this acts like the Tab key: it zooms back to the overview page. If the
page is zoomed in, it will return to normal mode.
LMB over a PDF hyperlink
Jump to the page referenced by the hyperlink. Two types of hyperlinks are supported: Links that
point to some other page of the same document, and URL hyperlinks like Web links and e-mail
addresses. This feature is only available if pdftk is installed. Furthermore, xdg-open from the
freedesktop.org Portland project is required for URL links to work. Please note that the
hyperlink feature will not work properly when pages are rotated.
click&drag with LMB (left mouse button)
Create a new highlight box. While at least one highlight box is defined on the current page, the
page itself will be shown in a darker, blurry and (if supported by the graphics hardware)
desaturated rendition. Only the highlight boxes will be displayed in their original lightness,
sharpness and color saturation.
If a page with highlight boxes is left, the boxes will be saved and restored the next time this
page is shown again.
click&drag with Ctrl+LMB (left mouse button)
Draw a box to zoom into. This enters so-called "box-zoom" mode, where the selected region is
zoomed into full view and anything else is displayed in much darker colors (but not blurred like
in highlight box mode). The page contents will be re-rendered in a higher resolution, if possible
(limited to what has been configured with the --maxzoom command-line option, and the graphics
hardware's maximum supported texture size). To leave this mode again, use RMB, MMB or Esc.
Note that box-zoom mode is mutually exclusive with highlight boxes and the spotlight; if any of
those is currently active, it's not possible to draw a zoom box.
RMB (right mouse button) over a highlight box
If the right mouse button is clicked while the mouse cursor is above a highlight box, the box will
be removed. If the last box on a page is removed, the page will turn bright and sharp again.
A key
Toggle automatic slideshow mode.
If an automatic presentation has been started with the -a/--auto option, it is temporarily
disabled until this key is pressed again. It is not automatically re-enabled after changing the
page. If the -a/--auto has not been used, an automatic presentation with a timeout of 30 seconds
is started when this key is pressed for the first time.
Note that if a page has a timeout PageProp, the specified timeout is always in effect when the
page is entered, even if the automatic slideshow is otherwise disabled.
S key
Save the info script associated with the current presentation. The main purpose for this is to
permanently save highlight boxes or keyboard shortcuts, so they will be restored the next time
this presentation is started.
T key
Activate or deactivate the time display at the upper-right corner of the screen. If the timer is
activated while the very first page of the presentation is shown, it activates time tracking mode,
just as if the command-line option --tracking had been specified.
R key
Reset the presentation timer.
C key
Removes ("clears") all highlight boxes from the current page.
Return key or Enter key
Toggle spotlight mode. In this mode, the page is darkened in the same way as if highlight boxes
are present, but instead of (or in addition to) the boxes, a circular "spotlight" will be shown
around the mouse cursor position, following every motion of the mouse cursor.
+ / - key, 9 / 0 key or mouse wheel in spotlight mode
Adjust the spotlight radius.
Ctrl+9 or Ctrl+0 keys
Resets the spotlight radius to the default value, i.e. the value that has been set up by the
radius page property, the --spot-radius command-line option or Impressive's built-in default.
7 / 8 key
Adjust the amount of darkening applied to the page in spotlight, highlight box or box-zoom mode.
Ctrl+7 or Ctrl+8 keys
Resets the amount of darkening in spotlight, highlight box and box-zoom mode to the default
values, i.e. the value that have been set up by the darkness and zoomdarkness page properties, the
--darkness and --zoomdarkness command-line options or Impressive's built-in defaults.
Z key
Toggle zoom mode. When this key is first pressed, the current page will zoom in. The page will be
displayed at double size, but in its original resolution (i.e. it will be blurry). Impressive will
re-render the page at the new resolution if the graphics hardware supports it. During this time,
Impressive will not accept any input, so don't even think about clicking the mouse or pressing
keys before the image gets crisp again.
In zoom mode, all other functions will work as normal. Any operations that leave the current page,
such as flipping the page or entering the overview screen, will leave zoom mode, too.
[ / ] key
Adjust the gamma value of the display (might not be supported on every hardware).
{ / } key
Adjust the black level of the display (might not be supported on every hardware).
\ key
Revert gamma and black level back to normal.
O key
This will toggle the "visible on overview page" flag of the current page. The result will not be
visible immediately, but it can be saved to the info script (using the S key) and will be in
effect the next time the presentation is started.
I key
This will toggle the skip flag of the current page. A page marked as skipped will not be reachable
with the normal forward/backward navigation keys.
B / W key or . (dot) / , (comma) key
Fade to black or white, respectively. This feature can be used if a whiteboard or blackboard in
front of the projection area is to be used during the presentation. Using these two keys, the
screen will fade into a solid color. On any keypress or mouse click, it will fade back to normal.
These keys are not available in overview mode.
click&drag with MMB (middle mouse button) or RMB (right mouse button) in zoom mode
Move the visible part of the page in zoom mode.
mouse wheel up / down in zoom mode, U key
Zoom a bit in or out. When zoomed out fully, zoom mode is left; note that in the default
configuration, this means that when trying to zoom out even more using the wheel, the page is left
instead. This is different if the -W/--nowheel option is used, where page navigation using the
mouse wheel is disabled, and the wheel is always used for zooming. In this mode, the wheel can
also be used to enter zoom mode in the first place.
Note that changing the zoom level on the fly with the wheel does not make Impressive automatically
re-render the page at a higher resolution to increase the level of detail. To do this, the U key
needs to be pressed manually when the desired zoom level has been set up.
Cursor keys in overview mode
Navigate through pages.
Alt+Tab keys
If Impressive is in fullscreen mode, the window will be minimized so that other applications can
be used.
Any alphanumeric (A-z, 0-9) or function key (F1-F12) that is not bound to a specific action mentioned
above or configured by the user (see below) can be used to assign shortcuts to pages that require quick
access. If one of the keys is pressed together with Shift, the currently displayed page is associated
with this key. To recall the page later, it is sufficient to press the shortcut key again. Shortcuts can
be stored permanently with the S key.
CONTROL CONFIGURATION
As already mentioned in the previous chapter, the keyboard and mouse bindings of Impressive can be widely
configured. The only exceptions are the Alt+F4 and Alt+Tab key combinations that will always quit or
minimize Impressive, respectively. For everything else, there is a versatile configuration system in
place; the controls described in the previous section are merely the defaults.
Impressive's control system works by associating events with actions. An event is a key on the keyboard,
a mouse button or a mouse wheel movement. An action is something that is performed by Impressive as a
result of an event, like going to the next page, switching to overview mode or quitting the program. The
association of an event to an an action is called a binding. Multiple events can be bound to the same
action (like the page down and space keys in the default setting, both of which go to the next page);
furthermore, multiple actions can be bound to the same event. In fact, bindings do not associate events
with single actions at all, but with chains of actions. Only the first action in the chain that matches
(i.e. makes sense in) the current context will be executed if the event fires; all other actions will be
ignored. If no action matches, no action will be performed and the event will be ignored.
One example of such an action chain is the default binding for the left mouse button, which draws a
highlight box if the mouse cursor moved, or visits a hyperlink if the mouse cursor hovers over one, or
goes to the next page if none of the other conditions are met.
Both events and actions have mnemonic names that are used in the command-line options and configuration
files used for setting up bindings. Event and actions names are generally case-insensitive, though the
canonical notation is lowercase.
If an event or action specified on the command line or in a configuration file is not recognized by
Impressive, an error message will be written to the console and the offending event or action will be
ignored. Errors in control configuration are thus always non-fatal.
SUPPORTED EVENTS
Keyboard events are generally named after the keys they refer to. Consequently, the events a to z and 0
to 9 mean the respective letter and number keys on the main keyboard, f1 to f12 are the function keys and
kp0 to kp9 are the number keys on the numerical keypad. All of these are raw scancodes, which has two
implications: First, the key names are not internationalized and refer to the US keyboard layout (e.g.
the Z key on a German or French keyboard will actually react to the event name y or w); second, modifiers
will be ignored as well (e.g. the numerical keypad will always generate the kpX scancodes, even if Num
Lock is off).
The mnemonic names for the other keyboard events are as follows (in alphabetic order): ampersand,
asterisk, at, backquote, backslash, backspace, break, capslock, caret, clear, comma, down, end, escape,
euro, exclaim, greater, hash, help, home, insert, kp_divide, kp_enter, kp_equals, kp_minus,
kp_multiply, kp_plus, lalt, last, lctrl, left, leftbracket, leftparen, less, lmeta, lshift, lsuper, menu,
minus, mode, numlock, pagedown, pageup, pause, period, plus, power, print, question, quote, quotedbl,
ralt, rctrl, return, right, rightbracket, rightparen, rmeta, rshift, rsuper, scrollock, semicolon, slash,
space, sysreq, tab, underscore, up. The events prefixed with kp_ refer to keys on the numerical keypad.
Other than that, the names should be reasonably descriptive, so they will not be described futher at this
point. Also note that not all keyboards and platforms support the full range of keys defined in this
list.
Mouse event names are mapped as follows:
lmb
the left mouse button
mmb
the middle mouse button
rmb
the right mouse button
wheelup
scrolling the mouse wheel upwards
wheeldown
scrolling the mouse wheel downwards
btnX (i.e. btn6, btn7, ...)
additional mouse buttons, the mapping of which is device-specific; use --evtest to see which
button is which
The event names can be prefixed with the three modifiers ctrl+, alt+ and shift+ to make the event valid
only if the specified set of modifiers is pressed as well. This works for both keyboard and mouse events.
Multiple modifiers can be combined, but the order must match the one mentioned in this paragraph. For
example, ctrl+shift+x is a valid event name, while shift+ctrl+x is not.
A simple way to determine the name associated with an event is using Impressive's "Event Test Mode" by
invoking impressive --evtest. In this mode, the name of each incoming event will be displayed on the
screen (and logged to standard output), which makes it possible to determine event names by
experimentation.
SUPPORTED ACTIONS
The following list describes all actions supported by Impressive, together with the conditions under
which they will match. Note that most actions will not match in overview mode and during video playback,
unless mentioned otherwise in the description.
auto-start
(Re-)enable automatic presentation mode. If the current page has no timeout PageProp and no -a/
--auto option has been specified, an automatic presentation is started with a 30-second page
interval.
auto-stop
Disable automatic presentation mode. If the current page has a timeout PageProp or an -a/--auto
option has been specified, the timeout for the current page is stopped.
The automatic presentation stays disabled after changing pages, unless a timeout PageProp is
specified for the target page, which will take precedence over the otherwise disabled automatic
presentation mode.
auto-toggle
Disables or (re-)enables automatic presentations, depending on the current state.
box-add
Draw a highlight box if the mouse has been moved since the button has been pressed down. This
action must only be bound to a mouse button event, otherwise it will not function properly.
box-clear
Removes all boxes from the current page.
box-remove
Removes the highlight box under the mouse cursor, if there is any.
box-zoom
Define a region to zoom into by drawing a rectangle. This action must only be bound to a mouse
button event, otherwise it will not function properly.
box-zoom-exit
If in box-zoom (but not normal zoom) mode, leave box-zoom mode.
fade-less, fade-more
Decrease or increase the amount of darkening applied to the background in spotlight or highlight
box mode.
fade-reset
Resets the background darkness in spotlight or highlight box mode to its default value.
fade-to-black, fade-to-white
Fades to a black or white screen. Once the screen is faded out, any event except those bound to
the quit action will just leave fade mode and not perform its assigned action.
fullscreen
Toggle fullscreen mode on platforms that support it.
gamma-decrease, gamma-increase
Decrease or increase the gamma level (i.e. roughly the brightness) of the display on platforms
that support it.
gamma-bl-decrease, gamma-bl-increase
Decrease or increase the black level of the display on platforms that support it.
gamma-reset
Reset the gamma and black level settings to their defaults.
goto-end, goto-end-notrans
Go to the last page of the presentation, with or without a transition.
goto-last, goto-last-notrans
Go to the last (i.e. most recently) visited page, with or without a transition.
goto-next, goto-next-notrans
Go to the following page of the presentation, with or without a transition.
goto-prev, goto-prev-notrans
Go to the previous page of the presentation, with or without a transition.
goto-start, goto-start-notrans
Go to the first page of the presentation, with or without a transition.
hyperlink, hyperlink-notrans
Navigate to the hyperlink under the mouse cursor, if there is one. If the hyperlink is a reference
to another page of the presentation, this page will be activated with or without a transition. If
the hyperlink refers to an external object (e.g. an URL), it will be opened externally, if
supported by the system.
overview-confirm
When in overview mode, confirm the selection and leave overview mode, navigating to the selected
page.
overview-down, overview-up
When in overview mode, select the page above or below the currently selected one in the grid.
overview-enter
When not in overview mode, zoom out of the current page, entering overview mode.
overview-exit
When in overview mode, leave overview mode, zooming back to the page that has been displayed
before entering overview mode.
overview-next, overview-prev
When in overview mode, select the following or previous page.
quit
Quits Impressive immediately. This action is available in all modes.
save
Save or update the Info Script for the current presentation.
spotlight-enter
If spotlight mode is not active, enable spotlight mode.
spotlight-exit
If spotlight mode is active, deactivate spotlight mode.
spotlight-grow, spotlight-shrink
When in spotlight mode, increase or decrease the radius of the spotlight.
spotlight-reset
When in spotlight mode, reset the spotlight radius to the default value.
time-reset
Reset the presentation timer.
time-toggle
Toggle on-screen display of the current presentation time, or wall-clock time if the --clock
option is used. If this is done at the start of the presentation, before the first page has been
left, time tracking mode will be enabled, like the --tracking option would have done.
toggle-overview
This toggles the "page is visible on overview screen" flag for the current page. This will not
have an immediate effect, but it can be saved to an Info Script.
toggle-skip
This toggles the "skip page when navigating with goto-prev and goto-next" flag for the current
page.
video-pause
In video playback mode, this pauses or unpauses playback.
video-seek-backward-10, video-seek-backward-1, video-seek-forward-1, video-seek-forward-10
In video playback mode, seek forward or backward by 1 or 10 seconds.
video-step
In video playback mode, if playback is paused, advance one frame in the video.
video-stop
In video playback mode, stop playback and return to normal page display mode.
zoom-enter
If not in zoom mode, enter zoom mode with the zoom level configured with the -z/--zoom option.
zoom-exit
If in zoom or box-zoom mode, leave that mode.
zoom-in, zoom-out
Slightly increase or decrease the current zoom level. This does not change the page's rendering
resolution, it only zooms the visible part of the screen in or out, centered around the mouse
cursor's position. Zoom mode is left automatically if the zoom level goes to down to 1x;
conversely, zoom mode is entered when calling zoom-in while zoom mode is not active.
zoom-pan
If in zoom mode, the visible area of the page can be moved around with the mouse while the key or
mouse button of the associated event is held down.
zoom-update
If in zoom mode, re-render the current page in a resolution that best fits the current zoom level,
up to the limits of the graphics hardware or the --maxzoom setting. This only needs to be done
explicitly when zooming with the zoom-in action; zoom-enter and box-zoom do this automatically.
BINDING SYNTAX
The arguments of the -e/--bind command-line option have the following basic syntax:
<event> [,<event2>...] <operator> <action> [,<action2>...]
In other words, it is a sequence of event names joined with commas, followed by an operator (see below)
and a sequence of action names joined with commas. Multiple such binding statements can be combined into
one argument by joining them with a semicolon (;).
The used operator defines in which way the action list shall modify the bindings of the referenced
events:
= (equals sign), += (plus sign and equals sign)
The specified actions will be added to the bindings of the specified events. In other words,
event=action1,action2 does exactly the same as event=action1; event=action2.
:= (colon and equals sign)
The specified actions will replace the bindings of the specified events.
-= (minus sign and equals sign)
The specified actions will be removed from the bindings of the specified events. For example, to
make the Esc key in the default bindings not clear highlight boxes, but otherwise preserve its
original functionality, escape -= box-clear can be used.
Other than bindings, a statement can also contain one of the following special commands:
clearall
Clears all current bindings.
defaults
Discards all current bindings and (re-)establishes the default bindings.
include <filename>
Loads and executes a control configuration file with a specified name.
The syntax for the configuration files used with the -E/--controls option or include statement is exactly
the same as for the ad-hoc configuration option, except that individual bindings can be written on
individual lines instead of joining them together to a single long line with semicolons. In addition,
everything following a hash sign (#) on a line will be ignored as a comment.
One practical example for such a configuration file can be the following: The author of this program uses
a cheap presentation remote control device that has four cursor keys, one "enter" key and a slider that
switches between keyboard and mouse mode. Mouse mode works as expected, but what it does in keyboard mode
is quite peculiar: the up and down keys act like Page-Up and Page-Down keys on a keyboard, the right
arrow key sends the letter B to the computer, and the left key toggles between Esc and F5 each time it's
pressed. The following configuration file allows basic navigation and access to overview mode with this
device:
clearall # don't use the default bindings
lmb = quit # quit Impressive by clicking in mouse mode
# everything else uses keyboard mode:
return = overview-enter, overview-confirm # toggle overview mode
escape, f5 = overview-prev, goto-prev
b = overview-next, goto-next
pageup = overview-up, goto-prev
pagedown = overview-down, goto-next
To get a better idea of how the control configuration system works in practice, it's recommended to study
the output of impressive --control-help - this not only gives a concise overview of all events and
actions, but also a full dump of Impressive's default bindings that can be used as a starting point for
own customizations.
INFO SCRIPTS
Impressive offers a powerful way to customize individual presentations using so-called info scripts. An
info script is a text file having the same name and located in the same directory as the presentation
file itself, except for the additional suffix .info. Thus, a presentation file called BrandNewProduct.pdf
would have a info script with the name BrandNewProduct.pdf.info. If multiple arguments were specified on
the command line, the info script will be called just .info (a dot file, so to speak). If a directory
name was specified as the only argument, either a file called DirectoryName.info or a file called .info
inside the directory will be used, depending on whether a path separator was specified at the end of the
directory name or not - Impressive simply appends .info to whatever the input path name was.
In any case, the default file name can be overridden by the -I command line option.
Info scripts are actually Python scripts with full access to Impressive's global data structures and
functions. (It is possible, though heavily discouraged, to write real interactive applications using info
scripts.) This has some good and bad side effects. The bad news first: The info scripts must be
compatible with the Python version used by Impressive itself; it's best to write them in a way that's
compatible with both Python 2.7 (with the __future__ imports print_function, unicode_literals and
division) and Python 3.x. Furthermore, there's no built-in security; in other words: don't trust info
scripts you received from somebody else. The good news, however, is that they can modify a broad range of
settings concerning Impressive. This manual will only cover the most basic ones.
PAGE PROPERTIES
The main part of an info script defines the properties of each page. At the moment, the following
properties are defined:
title
Each page can have a title that is displayed in the Impressive window's title bar. If there is no
title explicitly specified in the info script, the title of the page will be extracted from PDF
metadata if pdftk is installed, or the image file name will be used if the presentation is an
image slideshow.
transition
With this property, the transition class to be used for rendering the transition to this page
(i.e. between the previous page and this page) can be specified. For pages lacking this property,
random transitions will be chosen. A list of available transition classes can be obtained with
impressive -l.
transtime
This property overrides the global transition time parameter (-T at the command line). It contains
the integer time (in milliseconds) the transition to this page shall take.
overview
This property holds a boolean value (0/False or 1/True) that specifies whether the page shall be
included in the overview page. If this property isn't specified, it is assumed to be True.
skip
This boolean property can be set to 1/True if the page shall be skipped during the presentation.
Pages with overview:True, skip:False will be accessible both by cycling through the pages and
using the overview page,
pages with overview:True, skip:True will be silently skipped in the normal page cycle, but remain
accessible from the overview page,
pages with overview:False, skip:False will appear in the normal cycle, but not on the overview
page
and pages with overview:False, skip:True will not be accessible at all.
next
This property can be set to the number of the page that shall be shown after this page. This can
be used to skip a lot of pages without setting the skip property on each of those, or to create a
loop that can only be escaped by using the overview page or bookmarks.
prev
This property can be set to the number of the page that shall be shown when navigating from this
page to the previous page (e.g. using the right mouse button or the Page-Up key in the default
mappings).
boxes
This property stores a list of highlight box coordinates. Normally, there is no need to edit this
by hand, as Impressive handles this automatically if the S key is pressed.
timeout
If a timeout property is present and the page is shown, Impressive will automatically switch to
the next page after the specified number of milliseconds. Normally, the timeout will only be
effective the first time the page is shown unless wrap mode is used (command-line option -w or
--wrap). This restriction makes it possible to create self-running presentations with individual
per-page timeouts.
radius
This property takes an integer value that, if defined, will be used to set a new spotlight radius
every time the page is entered. This overrides the current setting as defined by the --spot-radius
command line option or run-time adjustments. Note that the value is not reset to the default value
after the page has been left again.
darkness
This property takes an integer or floating-point percentage value that, if defined, will be used
to set the background darkness in spotlight or highlight box mode each time the page is entered.
This overrides the current setting as defined by the --darkness command line option or run-time
adjustments. Note that the value is not reset to the default value after the page has been left
again.
zoomdarkness
This property takes an integer or floating-point percentage value that, if defined, will be used
to set the background darkness in box-zoom mode each time the page is entered. This overrides the
current setting as defined by the --zoomdarkness command line option or run-time adjustments. Note
that the value is not reset to the default value after the page has been left again.
comment
This property can hold a string with a single line of text that will be displayed on screen while
the page is shown. Display of this text can not be disabled.
sound
Specifies the file name of a sound file to be played (via MPlayer) when the page is first entered.
Once started, the sound will be played until its end is reached, another sound or video is played,
or Impressive is exited.
video
Specifies the file name of a video file to be played when the page is first entered. The video
will be displayed full-screen. Any key or mouse click stops playback, except the cursor keys,
which are used to seek in the video file, and space, which can be used to pause playback.
Please not that this function is still somewhat experimental. It uses an external player
application (MPlayer, or omxplayer on Raspberry Pi) to perform the actual playback, and embeds it
into Impressive's window.
always
If this property is present and set to 1 or True, the media file specified in the sound or video
properties will be played every time the page is entered, not just the first time.
progress
If this property is set to zero, the presentation progress bars (which are set up with the -d/
--duration, -q/--page-progress or -k/--auto-progress command line switches) will not be shown on
this page. In practice, it might be useful to hide the bar(s) from the first page so that they are
not visible during the introduction.
reset
If this property is set to 1 or True, the timer will be reset each time this page is left, just as
if the R has been pressed. If the special value 2 or FirstTimeOnly is used, the reset will only
take place if the page was shown for the first time. Again, this is particularly useful on the
first page: A combination of progress:False, reset:FirstTimeOnly makes it possible to set up the
presentation long before it actually begins - the first page can be showed as long as desired,
actual timing starts at the second page.
rotate
This property is a per-page override of the global -r command line option: It specifies how the
page shall be rotated, in 90-degree steps clockwise.
OnEnter, OnLeave, OnEnterOnce, OnLeaveOnce
These properties can contain a Python callable (i.e. a function reference or lambda expression)
that is executed when the page is entered or left. The ~Once variants will only be executed when
the page is entered or left for the first time. The callable must not take any arguments. This
feature can be used to associate arbitrary Python code with specific pages, for example to execute
external programs.
Warning: Lambda expressions cannot be properly processed by the Info Script save function (S key).
If Impressive encounters lambda expressions when saving, it will remove them. In addition, it will
not overwrite the original info script, but generate an extra file that needs to be merged with
the original script by hand.
keys
This property can be assigned a dictionary that maps alphanumerical keys to Python functions. For
example, 'keys': { 'x': SomeFunction } will invoke SomeFunction() if the lowercase character 'x'
is typed while the page is displayed. Regarding the functions, the same restrictions as for the
OnEnter/OnLeave family apply: the function must not take any parameters and lambda functions can
not be saved. Also note that it is not possible to overwrite Impressive's pre-defined key bindings
with this method.
invert
This property specifies whether the colors of that page shall be inverted in the same way the
--invert command-line switch does. It overrides the --invert setting on a per-page basis: If set
to True, the page will always be inverted; if set to False, the page will never be inverted even
if --invert has been specified on the command line.
Note that in Impressive versions prior to 0.11.0, the transition and transtime properties defined the
transition from the current page to the next, not from the previous page to the current one.
The properties are stored together in a Python dictionary called PageProps. The syntax looks like in this
example:
PageProps = {
1: {
'title': "Title Page",
'transition': PagePeel,
'sound': "background_music.mp3"
},
2: {
'title': "Another Page",
'timeout': 5000
}
}
The PageProps definition (and only the PageProps definition) will be rewritten by Impressive if the S key
is pressed. User-defined PageProps entries will also be left untouched, except for some pretty-printing.
GLOBAL PRESENTATION PROPERTIES
The name of the presentation is shown in the title bar of the Impressive window (if not in fullscreen
mode). By default, the file name or (if available) PDF metadata title will be used for this purpose, but
the presentation title can also be explicitly set by overwriting the DocumentTitle variable:
DocumentTitle = "My Presentation"
Another useful variable, AvailableTransitions, contains a list of all transition classes that may be used
for randomly assigning transitions to pages lacking the transition property. Thus, if a certain
transition is undesired (either because of personal dislike or because it shall be used exclusively on
pages where it is manually assigned using PageProps), something like the following can be written:
AvailableTransitions.remove(WipeBlobs)
On the other side, it's possible to activate transitions that are not enabled by default:
AvailableTransitions += [SlideUp, SlideDown]
Alternatively, AvailableTransitions can be completely overwritten to have the same transition (or set of
transitions) assigned to all pages:
AvailableTransitions = [Crossfade]
OPTION OVERRIDES
Another use of info scripts is overriding the default or command-line settings on a per-file basis. This
can be done by simply overwriting one of the variables that are defined at the beginning of
impressive.py. Each of these variables corresponds either to a command-line setting, or to some constant
related to visual appearance or performance. So, for example, to force fullscreen mode for a
presentation, write
Fullscreen = True
WORKING DIRECTORIES
The working directory while executing the info scripts themselves is always the directory in which the
info script is stored in.
The base directory for external actions that originate from Page Properties or PDF hyperlinks is always
the directory of the PDF or image file this page belongs to. In other words, if e.g. 'sound': "music.mp3"
is written in the info script for one page of presentation.pdf, the file music.mp3 is expected to be
located in the same directory as presentation.pdf.
AUTHOR
Impressive and its documentation has been written mainly by Martin J. Fiedler <martin.fiedler@gmx.net>,
with small portions of the code written by external contributors. See the source code file for details.
REPORTING BUGS
Report bugs to to <martin.fiedler@gmx.net>.
Martin J. Fiedler 2022-03-19 IMPRESSIVE(1)