File: impressive.1

package info (click to toggle)
impressive 0.11.1-1.1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 836 kB
  • ctags: 1,644
  • sloc: python: 10,966; perl: 78; makefile: 38
file content (1263 lines) | stat: -rw-r--r-- 64,229 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
.\" generated by KeyJ's html2man.py version 0.1.1
.TH IMPRESSIVE 1 2014-12-21 "Martin J. Fiedler" "Impressive Documentation">
.SH "NAME"
Impressive \- presentation tool with eye candy
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.B impressive
[OPTIONS...] FILES...
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Impressive is a simple presentation program that displays slideshows of image files (JPEG, PNG, TIFF and BMP) or PDF documents. Rendering is done via OpenGL, which allows for some "eye candy" effects.
.PP
A somewhat\-modern GPU (graphics processing unit) supporting OpenGL 2.0 or OpenGL ES 2.0 and appropriate drivers is required to run Impressive.
.PP
.SH "OPTIONS"
.IX Header "OPTIONS"
.br
\fB\-a \fI<seconds>\fR\fR or \fB\-\-auto \fI<seconds>\fR\fR 
.RS
Automatically advance to the next page after the given number of seconds. Together with the \fB\-w\fR option (described below), this can be used to create automatic slideshows.
.RE
.PP
.br
\fB\-A \fI<X>\fR:\fI<Y>\fR\fR or \fB\-\-aspect \fI<X>\fR:\fI<Y>\fR\fR 
.RS
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.
.RE
.PP
.br
\fB\-b\fR or \fB\-\-noback\fR 
.RS
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 (\fB\-\-cache none\fR, see below).
.RE
.PP
.br
\fB\-B \fI<ms>\fR\fR or \fB\-\-boxfade \fI<ms>\fR\fR 
.RS
Sets the duration (in milliseconds) of the highlight box fade\-in/\:fade\-out animation. Default value: 100 ms.
.RE
.PP
.br
\fB\-c \fI<mode>\fR\fR or \fB\-\-cache \fI<mode>\fR\fR 
.RS
Specifies the page cache mode to use. Valid options are: 
.br
\fBnone\fR
.RS
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.
.RE
.br
\fBmemory\fR
.RS
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).
.RE
.br
\fBcompressed\fR or \fBz\fR
.RS
Caches all page images in memory as well, but in compressed form. This will be a little slower than \fBmemory\fR mode, but on pages with uniform backgrounds, this will easily reduce the required amount of RAM by a factor of 20.
.RE
.br
\fBdisk\fR
.RS
Like \fBmemory\fR, but uses a temporary file rather than memory for storage. This is the default.
.RE
.br
\fBpersistent\fR
.RS
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 \fB.cache\fR file name extension instead of \fB.info\fR. This method is a little bit slower than \fBdisk\fR 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.
.RE
The mode name may be abbreviated at will, down to one character. Thus, \fB\-\-cache persistent\fR, \fB\-c persist\fR and even \fB\-cp\fR are all synonyms.
.RE
.PP
.br
\fB\-C \fI<filename>\fR[:\fI<X>\fR,\fI<Y>\fR]\fR or \fB\-\-cursor \fI<filename>\fR[:\fI<X>\fR,\fI<Y>\fR]\fR 
.RS
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 "\fB\-\fR" (dash) or "\fBdefault\fR", 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.
.br
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: \fB\-\-cursor mycursor.png:2,4\fR.
.RE
.PP
.br
\fB\-\-clock\fR 
.RS
If this option is enabled, the current time will be shown instead of the elapsed time if time display is activated (with the \fBT\fR key in the default control configuration). Compatible with the \fB\-M\fR option.
.RE
.PP
.br
\fB\-\-control\-help\fR 
.RS
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 \fB\-e\fR/\:\fB\-\-bind\fR or \fB\-E\fR/\:\fB\-\-controls\fR options precede this option). After that, Impressive will exit; no presentation will be started.
.RE
.PP
.br
\fB\-d \fI<time>\fR\fR or \fB\-\-duration \fI<time>\fR\fR 
.RS
Specifies the expected run time of the presentation. The \fItime\fR parameter can be either a number of seconds or a human\-readable time like \fB1:23\fR (1 minute and 23 seconds), \fB4:56h\fR (4 hours and 56 minutes), \fB3m45s\fR (3 minutes and 45 seconds), \fB5m\fR (5 minutes) or \fB1:23:45\fR (1 hour, 23 minutes and 45 seconds).
.br
If an expected duration is specified, 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).
.RE
.PP
.br
\fB\-D \fI<ms>\fR\fR or \fB\-\-mousedelay \fI<ms>\fR\fR 
.RS
Sets the time (in milliseconds) the mouse cursor is shown in fullscreen mode 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.
.RE
.PP
.br
\fB\-\-darkness \fI<percentage>\fR\fR 
.RS
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.
.RE
.PP
.br
\fB\-e \fI<bindings>\fR\fR or \fB\-\-bind \fI<bindings>\fR\fR 
.RS
Configures keyboard or mouse bindings. For the syntax of the argument, refer to the Control Configuration section of the manual.
.RE
.PP
.br
\fB\-E \fI<filename>\fR\fR or \fB\-\-controls \fI<filename>\fR\fR 
.RS
Loads a configuration file for keyboard and mouse bindings. For the syntax of these files, refer to the Control Configuration section of the manual.
.RE
.PP
.br
\fB\-\-evtest\fR 
.RS
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).
.RE
.PP
.br
\fB\-f\fR 
.RS
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 follwing order: (1.)True \fBfullscreen mode\fR, including setting the video mode. This is the default mode. (2.)\fBWindowed\fR mode, where Impressive runs in a standard window. (3.)"\fBFake\-fullscreen\fR" mode, where fullscreen is emulated by uding 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 (\fB\-\-fullscreen\fR, \fB\-\-windowed\fR and \fB\-\-fake\-fullscreen\fR).
.br
.RE
.PP
.br
\fB\-\-fullscreen\fR 
.RS
Starts Impressive in fullscreen mode (the default). See the discussion of the \fB\-f\fR option for details.
.RE
.PP
.br
\fB\-\-fake\-fullscreen\fR 
.RS
Starts Impressive in "fake fullscreen" mode. See the discussion of the \fB\-f\fR option for details.
.RE
.PP
.br
\fB\-F \fI<file>\fR\fR or \fB\-\-font \fI<file>\fR\fR 
.RS
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 \fB/\:usr/\:share/\:fonts\fR, \fB/\:usr/\:local/\:share/\:fonts\fR or \fB/\:usr/\:X11R6/\:lib/\:X11/\:fonts/\:TTF\fR for this purpose (the latter one is useful for Mac OS X systems specifically). If this option is not specified, 
any of \fBDejaVuSans.ttf\fR or \fBVera.ttf\fR (the typical file name of Bitstream Vera Sans) 
will be used as a default.
.
.RE
.PP
.br
\fB\-g \fI<width>\fRx\fI<height>\fR[+\fI<posX>\fR+\fI<posY>\fR]\fR or \fB\-\-geometry \fI<width>\fRx\fI<height>\fR[+\fI<posX>\fR+\fI<posY>\fR]\fR 
.RS
Sets the screen size or resolution Impressive shall use (in pixels).
If \fBxrandr\fR 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.
.br
Furthermore, if the additional parameters \fIposX\fR and \fIposY\fR 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.
.RE
.PP
.br
\fB\-G \fI<gamma>\fR[:\fI<blacklevel>\fR]\fR or \fB\-\-gamma \fI<gamma>\fR[:\fI<blacklevel>\fR]\fR 
.RS
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.
.RE
.PP
.br
\fB\-h\fR or \fB\-\-help\fR 
.RS
If this option is specified, Impressive writes a short command line help screen to standard output and does not start a presentation.
.RE
.PP
.br
\fB\-H\fR or \fB\-\-half\-screen\fR 
.RS
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 \fBbeamer\fR class), this makes it possible to have presenter's notes on the second screen.
.br
Note that transitions and animations are still operating on the whole screen, making some of them (like \fBPagePeel\fR) 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 (\fB\-\-zoomtime\fR).
.br
Another limitation is that the allocation of the screen halves (slides left, overview right) is fixed.
.RE
.PP
.br
\fB\-i \fI<page>\fR\fR or \fB\-\-initialpage \fI<page>\fR\fR 
.RS
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.
.RE
.PP
.br
\fB\-I \fI<filename>\fR\fR or \fB\-\-script \fI<filename>\fR\fR 
.RS
Overrides automatic derivation of the info script filename and specifies a script file directly.
.RE
.PP
.br
\fB\-\-invert\fR 
.RS
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.
.RE
.PP
.br
\fB\-k\fR or \fB\-\-auto\-progress\fR 
.RS
This option makes Impressive show a progress bar at the bottom of the screen, visualizing the timeout on pages that have one (either specified as a page property or using the \fB\-\-auto\fR command\-line option). Nothing is done on pages that don't have a timeout.
.br
The progress bar shown by this option takes precedence over the \fB\-\-duration\fR or \fB\-\-page\-progress\fR bars: If one of these options is specified 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.
.RE
.PP
.br
\fB\-l\fR or \fB\-\-listtrans\fR 
.RS
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 (\fB*\fR) left of the class name.
.RE
.PP
.br
\fB\-L \fI<spec>\fR\fR or \fB\-\-layout \fI<spec>\fR\fR 
.RS
Specifies the OSD layout. Read below for an explanation of this option
.RE
.PP
.br
\fB\-\-min\-box\-size \fI<pixels>\fR\fR 
.RS
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.
.RE
.PP
.br
\fB\-M\fR or \fB\-\-minutes\fR 
.RS
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.
.RE
.PP
.br
\fB\-\-noblur\fR 
.RS
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.
.br
There might be situations where this machanism fails and Impressive tries to use the non\-functional shader anyway. In these cases, the \fB\-\-noblur\fR option can be used to enforce the fallback implementation.
.RE
.PP
.br
\fB\-\-noclicks\fR 
.RS
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.
.br
Note that this option only works as intended when the default controls are used. If the \fB\-e\fR/\:\fB\-\-bind\fR or \fB\-E\fR/\:\fB\-\-controls\fR options have been used, \fB\-\-noclicks\fR might not have the intended effect.
.RE
.PP
.br
\fB\-\-nologo\fR 
.RS
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.
.RE
.PP
.br
\fB\-o \fI<directory>\fR\fR or \fB\-\-output \fI<directory>\fR\fR 
.RS
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 \fB\-g\fR 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 images of the PDF pages, is is made sure that no rendering bugs will happen on the target system.
.RE
.PP
.br
\fB\-O \fI<mode>\fR\fR or \fB\-\-autooverview \fI<mode>\fR\fR 
.RS
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 \fBpdftk\fR), except those that contain multiple reveal steps.
.br
The following modes are available: 
.br
\fBoff\fR
.RS
Disables automatic overview mode. All pages will be shown on the overview page by default. This is also the default setting.
.RE
.br
\fBfirst\fR
.RS
All pages with a PDF title will be shown on the overview page. The purpose is to show the \fBinitial\fR state of multi\-step slides on the overview page.
.RE
.br
\fBlast\fR
.RS
All pages \fBbefore\fR a page with a PDF title will be shown on the overview page. The purpose is to show the \fBfinal\fR state of multi\-step slides on the overview page.
.RE
Again, the mode may be abbreviated arbitrarily, down to one character, just like with the \fB\-c\fR option above..
.RE
.PP
.br
\fB\-p \fI<start>\fR\-\fI<end>\fR\fR or \fB\-\-pages \fI<start>\fR\-\fI<end>\fR\fR 
.RS
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.
.RE
.PP
.br
\fB\-P \fI<path>\fR\fR or \fB\-\-gspath \fI<path>\fR\fR 
.RS
This option can be used to override the Xpdf /\: GhostScript path autodetection. The full path to the executable of either GhostScript (\fBgs\fR or \fBgs.exe\fR) or Xpdf's \fBpdftoppm\fR utility must be specified.
.RE
.PP
.br
\fB\-q\fR or \fB\-\-page\-progress\fR 
.RS
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 (\fB\-d\fR option) is also enabled.
.RE
.PP
.br
\fB\-Q\fR or \fB\-\-autoquit\fR 
.RS
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.
.br
This option does not have any effect if \fB\-\-wrap\fR is used.
.RE
.PP
.br
\fB\-r \fI<n>\fR\fR or \fB\-\-rotate \fI<n>\fR\fR 
.RS
Display all pages rotated by \fIn\fRx90 degrees clockwise. Try \fB\-r 1\fR or \fB\-r 3\fR if there are problems with PDFs generated by LaTeX on some Xpdf or GhostScript versions.
.RE
.PP
.br
\fB\-s\fR or \fB\-\-scale\fR \fI(image input only)\fR 
.RS
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.
.RE
.PP
.br
\fB\-s\fR or \fB\-\-supersample\fR \fI(PDF input only)\fR 
.RS
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.
.RE
.PP
.br
\fB\-S \fI<pixels>\fR\fR or \fB\-\-fontsize \fI<pixels>\fR\fR 
.RS
This option sets the size, in pixels, of the OSD font. The default value is 14.
.RE
.PP
.br
\fB\-\-spot\-radius \fI<pixels>\fR\fR 
.RS
This option sets the initial radius of the spotlight, in pixels. The default value is 64.
.RE
.PP
.br
\fB\-t \fI<ms>\fR\fR or \fB\-\-transition \fI<trans1[,trans2...]>\fR\fR 
.RS
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 \fB\-l\fR option can be used to get a list of available transitions.
.RE
.PP
.br
\fB\-T \fI<ms>\fR\fR or \fB\-\-transtime \fI<ms>\fR\fR 
.RS
Sets the duration (in milliseconds) of page transitions. 0 (zero) disables transitions altogether. Default value: 1000 ms.
.RE
.PP
.br
\fB\-\-tracking\fR 
.RS
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.
.RE
.PP
.br
\fB\-u \fI<seconds>\fR\fR or \fB\-\-poll \fI<seconds>\fR\fR 
.RS
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.
.br
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.
.RE
.PP
.br
\fB\-v\fR or \fB\-\-verbose\fR 
.RS
This option makes Impressive more verbose, i.e. it will print slightly more informational messages than usual.
.RE
.PP
.br
\fB\-V \fI<pixels>\fR\fR or \fB\-\-overscan \fI<pixels>\fR\fR 
.RS
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.
.RE
.PP
.br
\fB\-w\fR or \fB\-\-wrap\fR 
.RS
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.
.RE
.PP
.br
\fB\-W\fR or \fB\-\-nowheel\fR 
.RS
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.
.br
Note that this option only works as intended when the default controls are used. If the \fB\-e\fR/\:\fB\-\-bind\fR or \fB\-E\fR/\:\fB\-\-controls\fR options have been used, \fB\-\-noclicks\fR might not have the intended effect.
.RE
.PP
.br
\fB\-\-windowed\fR 
.RS
Starts Impressive in windowed mode. See the discussion of the \fB\-f\fR option for details.
.RE
.PP
.br
\fB\-x\fR or \fB\-\-fade\fR 
.RS
This option enables a smooth fade\-in effect at the start of the presentation and a fade\-out effect just before Impressive quits.
.RE
.PP
.br
\fB\-X\fR or \fB\-\-shuffle\fR 
.RS
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.
.RE
.PP
.br
\fB\-y\fR or \fB\-\-auto\-auto\fR 
.RS
This option can be used together with \fB\-\-duration\fR to have Impressive compute a page timeout (as with the \fB\-\-auto\fR 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.
.RE
.PP
.br
\fB\-z \fI<factor>\fR\fR or \fB\-\-zoom \fI<factor>\fR\fR 
.RS
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 \fB\-e\fR option is used, the number must be a power of two.
.RE
.PP
.br
\fB\-Z \fI<ms>\fR\fR or \fB\-\-zoomtime \fI<ms>\fR\fR 
.RS
Sets the duration (in milliseconds) of the overview page zoom\-in/\:zoom\-out effects. Default value: 250 ms.
.RE
.PP
.br
\fB\-\-cachefile \fI<filename>\fR\fR 
.RS
Activates persistent cache mode and specifies the name of the cache file to use.
.RE
.PP
.SH "ARGUMENTS"
.IX Header "ARGUMENTS"
Following the options, the input file name(s) must be specified. Recognized file 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 files (no PDF files!) in this directory will be played in alphanumeric order (case\-insensitive).
.PP
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 (\fB#\fR) 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 (\fB@\fR) on the command line, e.g. \fBimpressive @my_list_file\fR.
.PP
Impressive will also expand wild\-card characters (\fB*\fR and \fB?\fR) 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.
.PP
.SH "    LAYOUT OPTIONS"
.IX Subsection "LAYOUT OPTIONS"
The OSD layout option (\fB\-L\fR/\:\fB\-\-layout\fR) accepts a string with comma\-separated \fB\fIkey\fR=\fIvalue\fR\fR pairs. The following keywords are recognized:
.br
.br
\fBalpha\fR
.RS
The opacity of the OSD text, either as a floating\-point value between 0 and 1 or a percentage between 2 and 100.
.RE
.br
\fBmargin\fR
.RS
The distance (in pixels) of the OSD text to the screen borders.
.RE
.br
\fBtime\fR
.RS
The position of the timer.
.RE
.br
\fBtitle\fR
.RS
The position of the page title in overview mode.
.RE
.br
\fBpage\fR
.RS
The position of the page number in overview mode.
.RE
.br
\fBstatus\fR
.RS
The position of the status line.
.RE
The position specifications are composed by one character that indicates whether the text shall be displayed at the top (\fBT\fR) or bottom (\fBB\fR) edge of the screen and one character that indicates whether it shall appear on the left (\fBL\fR), on the right (\fBR\fR) or centered (\fBC\fR).
.PP
For example, the default OSD layout equals the following option string:
.br
\fB    \-L margin=16,alpha=1,time=TR,title=BL,page=BR,status=TL\fR
.PP
.SH "    EXAMPLES"
.IX Subsection "EXAMPLES"
The following examples illustrate some typical command lines. They assume that Impressive can be run by simply typing "\fBimpressive\fR" on the command line. Depending on how Impressive is installed, this has to be substituted with the actual way to run Impressive (e.g. "\fBpython ~/\:impressive/\:impressive_dev.py\fR" for a fresh SVN checkout). Furthermore, the file "\fBdemo.pdf\fR" is used as the document to show here; obviously this has to be replaced by the path to the actual PDF file too.
.PP
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:
.br
\fB    impressive demo.pdf\fR
.PP
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
.br
\fB    impressive \-f \-g 800x600 demo.pdf\fR
.PP
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:
.br
\fB    impressive \-a 10 \-w demo.pdf\fR
.PP
.SH "USAGE"
.IX Header "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.
.PP
.SH "DEFAULT CONTROLS"
.IX Header "DEFAULT CONTROLS"
The keyboard and mouse controls used by Impressive are configurable (with very few exceptions). The default controls are as follows:
.PP
.br
\fBEsc\fR key 
.RS
Return from the currently active special mode (zoom, overview, spotlight, highlight boxes); if no such special mode is active, quit Impressive altogether.
.RE
.PP
.br
\fBQ\fR key or \fBAlt\fR+\fBF4\fR 
.RS
Quit Impressive immediately.
.RE
.PP
.br
\fBLMB\fR (left mouse button), mouse wheel down, \fBPage Down\fR key, \fBCursor Down\fR key, \fBCursor Right\fR key or \fBSpacebar\fR 
.RS
Go to the next page (using a transition).
.RE
.PP
.br
\fBRMB\fR (right mouse button), mouse wheel up, \fBPage Up\fR key, \fBCursor Up\fR key, \fBCursor Left\fR key or \fBBackspace\fR key 
.RS
Go to the previous page (using a transition).
.RE
.PP
.br
\fBHome\fR key /\: \fBEnd\fR key 
.RS
Go directly to the first or last page of the presentation.
.RE
.PP
.br
\fBCtrl\fR key \fI(modifier)\fR 
.RS
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.
.RE
.PP
.br
\fBL\fR key 
.RS
Return to the last (most recently displayed) page. This can be used to toggle back and forth between two pages.
.RE
.PP
.br
\fBF\fR key 
.RS
Toggle fullscreen mode.
.RE
.PP
.br
\fBTab\fR key 
.RS
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 \fIwithout\fR changing the current page.
.RE
.PP
.br
\fBMMB\fR (middle mouse button) 
.RS
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.
.RE
.PP
.br
\fBLMB\fR over a PDF hyperlink 
.RS
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 \fBpdftk\fR is installed. Furthermore, \fBxdg\-open\fR 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.
.RE
.PP
.br
click&drag with \fBLMB\fR (left mouse button) 
.RS
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.
.br
If a page with highlight boxes is left, the boxes will be saved and restored the next time this page is shown again.
.RE
.PP
.br
\fBRMB\fR (right mouse button) over a highlight box 
.RS
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.
.RE
.PP
.br
\fBS\fR key 
.RS
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.
.RE
.PP
.br
\fBT\fR key 
.RS
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 \fB\-\-tracking\fR had been specified.
.RE
.PP
.br
\fBR\fR key 
.RS
Reset the presentation timer.
.RE
.PP
.br
\fBC\fR key 
.RS
Removes ("clears") all highlight boxes from the current page.
.RE
.PP
.br
\fBReturn\fR key or \fBEnter\fR key 
.RS
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.
.RE
.PP
.br
\fB+\fR /\: \fB-\fR key, \fB9\fR /\: \fB0\fR key or mouse wheel in spotlight mode 
.RS
Adjust the spotlight radius.
.RE
.PP
.br
\fBCtrl\fR+\fB9\fR or \fBCtrl\fR+\fB0\fR keys 
.RS
Resets the spotlight radius to the default value, i.e. the value that has been set up by the \fBradius\fR page property, the \fB\-\-spot\-radius\fR command\-line option or Impressive's built\-in default.
.RE
.PP
.br
\fB7\fR /\: \fB8\fR key 
.RS
Adjust the amount of darkening applied to the page in spotlight or highlight box mode.
.RE
.PP
.br
\fBCtrl\fR+\fB7\fR or \fBCtrl\fR+\fB8\fR keys 
.RS
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 \fBdarkness\fR page property, the \fB\-\-darkness\fR command\-line option or Impressive's built\-in default.
.RE
.PP
.br
\fBZ\fR key 
.RS
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 \fBnot\fR accept any input, so don't even think about clicking the mouse or pressing keys before the image gets crisp again.
.br
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.
.RE
.PP
.br
\fB[\fR /\: \fB]\fR key 
.RS
Adjust the gamma value of the display (might not be supported on every hardware).
.RE
.PP
.br
\fB{\fR /\: \fB}\fR key 
.RS
Adjust the black level of the display (might not be supported on every hardware).
.RE
.PP
.br
\fB\\\fR key 
.RS
Revert gamma and black level back to normal.
.RE
.PP
.br
\fBO\fR key 
.RS
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 \fBS\fR key) and will be in effect the next time the presentation is started.
.RE
.PP
.br
\fBI\fR key 
.RS
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.
.RE
.PP
.br
\fBB\fR /\: \fBW\fR key or \fB.\fR (dot) /\: \fB,\fR (comma) key 
.RS
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.
.RE
.PP
.br
click&drag with \fBRMB\fR (right mouse button) in zoom mode 
.RS
Move the visible part of the page in zoom mode.
.RE
.PP
.br
\fBCursor\fR keys in overview mode 
.RS
Navigate through pages.
.RE
.PP
.br
\fBAlt\fR+\fBTab\fR keys 
.RS
If Impressive is in fullscreen mode, the window will be minimized so that other applications can be used.
.RE
.PP
.PP
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 \fBShift\fR, 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 \fBS\fR key.
.PP
.SH "CONTROL CONFIGURATION"
.IX Header "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 \fBAlt\fR+\fBF4\fR and \fBAlt\fR+\fBTab\fR 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.
.PP
Impressive's control system works by associating \fBevents\fR with \fBactions\fR. An \fIevent\fR is a key on the keyboard, a mouse button or a mouse wheel movement. An \fIaction\fR 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 \fBbinding\fR. 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 \fIchains\fR of actions. Only the first action in the chain that \fImatches\fR (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.
.PP
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. 
.PP
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.
.br
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.
.PP
.SH "    SUPPORTED EVENTS"
.IX Subsection "SUPPORTED EVENTS"
Keyboard events are generally named after the keys they refer to. Consequently, the events \fBa\fR to \fBz\fR and \fB0\fR to \fB9\fR mean the respective letter and number keys on the main keyboard, \fBf1\fR to \fBf12\fR are the function keys and \fBkp0\fR to \fBkp9\fR 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 \fBZ\fR key on a German or French keyboard will actually react to the event name \fBy\fR or \fBw\fR); second, modifiers will be ignored as well (e.g. the numerical keypad will always generate the \fBkp\fIX\fR\fR scancodes, even if Num Lock is off).
.PP
The mnemonic names for the other keyboard events are as follows (in alphabetic order): \fBampersand\fR, \fBasterisk\fR, \fBat\fR, \fBbackquote\fR, \fBbackslash\fR, \fBbackspace\fR, \fBbreak\fR, \fBcapslock\fR, \fBcaret\fR, \fBclear\fR, \fBcomma\fR, \fBdown\fR, \fBend\fR, \fBescape\fR, \fBeuro\fR, \fBexclaim\fR, \fBgreater\fR, \fBhash\fR, \fBhelp\fR, \fBhome\fR, \fBinsert\fR, \fBkp_divide\fR, \fBkp_enter\fR, \fBkp_equals\fR, \fB  kp_minus\fR, \fBkp_multiply\fR, \fBkp_plus\fR, \fBlalt\fR, \fBlast\fR, \fBlctrl\fR, \fBleft\fR, \fBleftbracket\fR, \fBleftparen\fR, \fBless\fR, \fBlmeta\fR, \fBlshift\fR, \fBlsuper\fR, \fBmenu\fR, \fBminus\fR, \fBmode\fR, \fBnumlock\fR, \fBpagedown\fR, \fBpageup\fR, \fBpause\fR, \fBperiod\fR, \fBplus\fR, \fBpower\fR, \fBprint\fR, \fBquestion\fR, \fBquote\fR, \fBquotedbl\fR, \fBralt\fR, \fBrctrl\fR, \fBreturn\fR, \fBright\fR, \fBrightbracket\fR, \fBrightparen\fR, \fBrmeta\fR, \fBrshift\fR, \fBrsuper\fR, \fBscrollock\fR, \fBsemicolon\fR, \fBslash\fR, \fBspace\fR, \fBsysreq\fR, \fBtab\fR, \fBunderscore\fR, \fBup\fR. The events prefixed with \fBkp_\fR 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.
.PP
Mouse event names are mapped as follows:
.PP
.br
\fBlmb\fR
.RS
the left mouse button
.RE
.PP
.br
\fBmmb\fR
.RS
the middle mouse button
.RE
.PP
.br
\fBrmb\fR
.RS
the right mouse button
.RE
.PP
.br
\fBwheelup\fR
.RS
scrolling the mouse wheel upwards
.RE
.PP
.br
\fBwheeldown\fR
.RS
scrolling the mouse wheel downwards
.RE
.PP
The event names can be prefixed with the three modifiers \fBctrl+\fR, \fBalt+\fR and \fBshift+\fR 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, \fBctrl+shift+x\fR is a valid event name, while \fBshift+ctrl+x\fR is not.
.PP
A simple way to determine the name associated with an event is using Impressive's "Event Test Mode" by invoking \fBimpressive \-\-evtest\fR. 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.
.PP
.SH "    SUPPORTED ACTIONS"
.IX Subsection "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.
.PP
.br
\fBbox\-add\fR 
.RS
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 without modifiers, otherwise it will not function properly.
.RE
.PP
.br
\fBbox\-clear\fR 
.RS
Removes all boxes from the current page.
.RE
.PP
.br
\fBbox\-remove\fR 
.RS
Removes the highlight box under the mouse cursor, if there is any.
.RE
.PP
.br
\fBfade\-less\fR, \fBfade\-more\fR 
.RS
Decrease or increase the amount of darkening applied to the background in spotlight or highlight box mode.
.RE
.PP
.br
\fBfade\-reset\fR 
.RS
Resets the background darkness in spotlight or highlight box mode to its default value.
.RE
.PP
.br
\fBfade\-to\-black\fR, \fBfade\-to\-white\fR 
.RS
Fades to a black or white screen. Once the screen is faded out, any event except those bound to the \fBquit\fR action will just leave fade mode and not perform its assigned action.
.RE
.PP
.br
\fBfullscreen\fR 
.RS
Toggle fullscreen mode on platforms that support it.
.RE
.PP
.br
\fBgamma\-decrease\fR, \fBgamma\-increase\fR 
.RS
Decrease or increase the gamma level (i.e. roughly the brightness) of the display on platforms that support it.
.RE
.PP
.br
\fBgamma\-bl\-decrease\fR, \fBgamma\-bl\-increase\fR 
.RS
Decrease or increase the black level of the display on platforms that support it.
.RE
.PP
.br
\fBgamma\-reset\fR 
.RS
Reset the gamma and black level settings to their defaults.
.RE
.PP
.br
\fBgoto\-end\fR, \fBgoto\-end\-notrans\fR 
.RS
Go to the last page of the presentation, with or without a transition.
.RE
.PP
.br
\fBgoto\-last\fR, \fBgoto\-last\-notrans\fR 
.RS
Go to the last (i.e. most recently) visited page, with or without a transition.
.RE
.PP
.br
\fBgoto\-next\fR, \fBgoto\-next\-notrans\fR 
.RS
Go to the following page of the presentation, with or without a transition.
.RE
.PP
.br
\fBgoto\-prev\fR, \fBgoto\-prev\-notrans\fR 
.RS
Go to the previous page of the presentation, with or without a transition.
.RE
.PP
.br
\fBgoto\-start\fR, \fBgoto\-start\-notrans\fR 
.RS
Go to the first page of the presentation, with or without a transition.
.RE
.PP
.br
\fBhyperlink\fR, \fBhyperlink\-notrans\fR 
.RS
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.
.RE
.PP
.br
\fBoverview\-confirm\fR 
.RS
When in overview mode, confirm the selection and leave overview mode, navigating to the selected page.
.RE
.PP
.br
\fBoverview\-down\fR, \fBoverview\-up\fR 
.RS
When in overview mode, select the page above or below the currently selected one in the grid.
.RE
.PP
.br
\fBoverview\-enter\fR 
.RS
When \fInot\fR in overview mode, zoom out of the current page, entering overview mode.
.RE
.PP
.br
\fBoverview\-exit\fR 
.RS
When in overview mode, leave overview mode, zooming back to the page that has been displayed before entering overview mode.
.RE
.PP
.br
\fBoverview\-next\fR, \fBoverview\-prev\fR 
.RS
When in overview mode, select the following or previous page.
.RE
.PP
.br
\fBquit\fR 
.RS
Quits Impressive immediately. This action is available in all modes.
.RE
.PP
.br
\fBsave\fR 
.RS
Save or update the Info Script for the current presentation.
.RE
.PP
.br
\fBspotlight\-enter\fR 
.RS
If spotlight mode is not active, enable spotlight mode.
.RE
.PP
.br
\fBspotlight\-exit\fR 
.RS
If spotlight mode \fIis\fR active, deactivate spotlight mode.
.RE
.PP
.br
\fBspotlight\-grow\fR, \fBspotlight\-shrink\fR 
.RS
When in spotlight mode, increase or decrease the radius of the spotlight.
.RE
.PP
.br
\fBspotlight\-reset\fR 
.RS
When in spotlight mode, reset the spotlight radius to the default value.
.RE
.PP
.br
\fBtime\-reset\fR 
.RS
Reset the presentation timer.
.RE
.PP
.br
\fBtime\-toggle\fR 
.RS
Toggle on\-screen display of the current presentation time, or wall\-clock time if the \fB\-\-clock\fR 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 \fB\-\-tracking\fR option would have done.
.RE
.PP
.br
\fBtoggle\-overview\fR 
.RS
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.
.RE
.PP
.br
\fBtoggle\-skip\fR 
.RS
This toggles the "skip page when navigating with \fBgoto\-prev\fR and \fBgoto\-next\fR" flag for the current page.
.RE
.PP
.br
\fBvideo\-pause\fR 
.RS
In video playback mode, this pauses or unpauses playback.
.RE
.PP
.br
\fBvideo\-seek\-backward\-10\fR, \fBvideo\-seek\-backward\-1\fR, \fBvideo\-seek\-forward\-1\fR, \fBvideo\-seek\-forward\-10\fR 
.RS
In video playback mode, seek forward or backward by 1 or 10 seconds.
.RE
.PP
.br
\fBvideo\-step\fR 
.RS
In video playback mode, if playback is paused, advance one frame in the video.
.RE
.PP
.br
\fBvideo\-stop\fR 
.RS
In video playback mode, stop playback and return to normal page display mode.
.RE
.PP
.br
\fBzoom\-enter\fR 
.RS
If not in zoom mode, enter zoom mode.
.RE
.PP
.br
\fBzoom\-exit\fR 
.RS
If in zoom mode, leave zoom mode.
.RE
.PP
.br
\fBzoom\-pan\fR 
.RS
When 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.
.RE
.PP
.SH "    BINDING SYNTAX"
.IX Subsection "BINDING SYNTAX"
The arguments of the \fB\-e\fR/\:\fB\-\-bind\fR command\-line option have the following basic syntax:
.br
    \fB\fI<event>\fR \fI[\fR,\fI<event2>...]\fR \fI<operator>\fR \fI<action>\fR \fI[\fR,\fI<action2>...]\fR\fR
.br
In other words, it is a sequence of event names joined with commas, followed by an \fIoperator\fR (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 (\fB;\fR).
.PP
The used operator defines in which way the action list shall modify the bindings of the referenced events:
.PP
.br
\fB=\fR (equals sign), \fB+=\fR (plus sign and equals sign) 
.RS
The specified actions will be \fIadded\fR to the bindings of the specified events. In other words, \fBevent=action1,action2\fR does exactly the same as \fBevent=action1; event=action2\fR.
.RE
.PP
.br
\fB:=\fR (colon and equals sign) 
.RS
The specified actions will \fIreplace\fR the bindings of the specified events.
.RE
.PP
.br
\fB\-=\fR (minus sign and equals sign) 
.RS
The specified actions will be \fIremoved\fR from the bindings of the specified events. For example, to make the \fBEsc\fR key in the default bindings not clear highlight boxes, but otherwise preserve its original functionality, \fBescape \-= box\-clear\fR can be used.
.RE
.PP
Other than bindings, a statement can also contain one of the following special commands:
.PP
.br
\fBclearall\fR 
.RS
Clears \fIall\fR current bindings.
.RE
.PP
.br
\fBdefaults\fR 
.RS
Discards all current bindings and (re\-)establishes the default bindings.
.RE
.PP
.br
\fBinclude \fI<filename>\fR\fR 
.RS
Loads and executes a control configuration file with a specified name.
.RE
.PP
The syntax for the configuration files used with the \fB\-E\fR/\:\fB\-\-controls\fR option or \fBinclude\fR 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 (\fB#\fR) on a line will be ignored as a comment.
.PP
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 \fBB\fR to the computer, and the left key toggles between \fBEsc\fR and \fBF5\fR each time it's pressed. The following configuration file allows basic navigation and access to overview mode with this device:
.PP
.nf
.ne 8
\&      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
.
.fi
.PP
To get a better idea of how the control configuration system works in practice, it's recommended to study the output of \fBimpressive \-\-control\-help\fR - 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.
.PP
.SH "INFO SCRIPTS"
.IX Header "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 \fB.info\fR. Thus, a presentation file called \fBBrandNewProduct.pdf\fR would have a info script with the name \fBBrandNewProduct.pdf.info\fR. If multiple arguments were specified on the command line, the info script will be called just \fB.info\fR (a dot file, so to speak). If a directory name was specified as the only argument, either a file called \fB\fIDirectoryName\fR.info\fR or a file called \fB.info\fR \fIinside\fR 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 \fB.info\fR to whatever the input path name was.
.br
In any case, the default file name can be overridden by the \fB\-I\fR command line option.
.PP
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.
.PP
.SH "    PAGE PROPERTIES"
.IX Subsection "PAGE PROPERTIES"
The main part of an info script defines the properties of each page. At the moment, the following properties are defined:
.PP
.br
\fBtitle\fR 
.RS
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.
.RE
.PP
.br
\fBtransition\fR 
.RS
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 \fBimpressive \-l\fR.
.RE
.PP
.br
\fBtranstime\fR 
.RS
This property overrides the global transition time parameter (\fB\-T\fR at the command line). It contains the integer time (in milliseconds) the transition to this page shall take.
.RE
.PP
.br
\fBoverview\fR 
.RS
This property holds a boolean value (0/\:\fBFalse\fR or 1/\:\fBTrue\fR) that specifies whether the page shall be included in the overview page. If this property isn't specified, it is assumed to be \fBTrue\fR.
.RE
.PP
.br
\fBskip\fR 
.RS
This boolean property can be set to 1/\:\fBTrue\fR if the page shall be skipped during the presentation.
.br
Pages with \fBoverview:True, skip:False\fR will be accessible both by cycling through the pages and using the overview page,
.br
pages with \fBoverview:True, skip:True\fR will be silently skipped in the normal page cycle, but remain accessible from the overview page,
.br
pages with \fBoverview:False, skip:False\fR will appear in the normal cycle, but not on the overview page
.br
and pages with \fBoverview:False, skip:True\fR will not be accessible at all.
.RE
.PP
.br
\fBboxes\fR 
.RS
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 \fBS\fR key is pressed.
.RE
.PP
.br
\fBtimeout\fR 
.RS
If a \fBtimeout\fR 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 \fB\-w\fR or \fB\-\-wrap\fR). This restriction makes it possible to create self\-running presentations with individual per\-page timeouts.
.RE
.PP
.br
\fBradius\fR 
.RS
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 \fB\-\-spot\-radius\fR command line option or run\-time adjustments. Note that the value is \fInot\fR reset to the default value after the page has been left again.
.RE
.PP
.br
\fBdarkness\fR 
.RS
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 \fB\-\-darkness\fR command line option or run\-time adjustments. Note that the value is \fInot\fR reset to the default value after the page has been left again.
.RE
.PP
.br
\fBcomment\fR 
.RS
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.
.RE
.PP
.br
\fBsound\fR 
.RS
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.
.RE
.PP
.br
\fBvideo\fR 
.RS
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. Note that this function is highly experimental and might not work reliably on every system!
.RE
.PP
.br
\fBalways\fR 
.RS
If this property is present and set to 1 or \fBTrue\fR, the media file specified in the \fBsound\fR or \fBvideo\fR properties will be played every time the page is entered, not just the first time.
.RE
.PP
.br
\fBprogress\fR 
.RS
If this property is set to zero, the presentation progress bar (which is usually set up with the \fB\-d\fR/\:\fB\-\-duration\fR command line switch) will not be shown on this page. In practice, it might be useful to hide the bar from the first page so that it is not visible during the introduction.
.RE
.PP
.br
\fBreset\fR 
.RS
If this property is set to 1 or \fBTrue\fR, the timer will be reset each time this page is left, just as if the \fBR\fR has been pressed. If the special value 2 or \fBFirstTimeOnly\fR 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 \fBprogress:False, reset:FirstTimeOnly\fR 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.
.RE
.PP
.br
\fBrotate\fR 
.RS
This property is a per\-page override of the global \fB\-r\fR command line option: It specifies how the page shall be rotated, in 90\-degree steps clockwise.
.RE
.PP
.br
\fBOnEnter\fR, \fBOnLeave\fR, \fBOnEnterOnce\fR, \fBOnLeaveOnce\fR 
.RS
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 \fB~Once\fR 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.
.br
\fBWarning:\fR Lambda expressions cannot be properly processed by the Info Script save function (\fBS\fR 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 withe the original script by hand.
.RE
.PP
.br
\fBkeys\fR 
.RS
This property can be assigned a dictionary that maps alphanumerical keys to Python functions. For example, \fB'keys': { 'x': SomeFunction }\fR will invoke \fBSomeFunction()\fR if the lowercase character 'x' is typed while the page is displayed. Regarding the functions, the same restrictions as for the \fBOnEnter\fR/\:\fBOnLeave\fR 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.
.RE
.PP
.br
\fBinvert\fR 
.RS
This property specifies whether the colors of that page shall be inverted in the same way the \fB\-\-invert\fR command\-line switch does. It overrides the \fB\-\-invert\fR setting on a per\-page basis: If set to \fBTrue\fR, the page will always be inverted; if set to \fBFalse\fR, the page will never be inverted even if \fB\-\-invert\fR has been specified on the command line.
.RE
.PP
Note that in Impressive versions prior to 0.11.0, the \fBtransition\fR and \fBtranstime\fR properties defined the transition from the current page to the next, not from the previous page to the current one.
.PP
The properties are stored together in a Python dictionary called \fBPageProps\fR. The syntax looks like in this example:
.PP
.nf
.ne 11
\&  PageProps = {
\&    1: {
\&         'title': "Title Page",
\&         'transition': PagePeel,
\&         'sound': "background_music.mp3"
\&       },
\&    2: {
\&         'title': "Another Page",
\&         'timeout': 5000
\&       }
\&  }
.
.fi
.PP
The PageProps definition (and \fBonly\fR the PageProps definition) will be rewritten by Impressive if the \fBS\fR key is pressed. User\-defined PageProps entries will also be left untouched, except for some pretty\-printing.
.PP
.SH "    GLOBAL PRESENTATION PROPERTIES"
.IX Subsection "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 \fBDocumentTitle\fR variable:
.br
\fB    DocumentTitle = "My Presentation"\fR
.PP
Another useful variable, \fBAvailableTransitions\fR, contains a list of all transition classes that may be used for randomly assigning transitions to pages lacking the \fBtransition\fR 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 \fBPageProps\fR), something like the following can be written:
.br
\fB    AvailableTransitions.remove(WipeBlobs)\fR
.br
On the other side, it's possible to activate transitions that are not enabled by default:
.br
\fB    AvailableTransitions += [SlideUp, SlideDown]\fR
.br
Alternatively, \fBAvailableTransitions\fR can be completely overwritten to have the same transition (or set of transitions) assigned to all pages:
.br
\fB    AvailableTransitions = [Crossfade]\fR
.PP
.SH "    OPTION OVERRIDES"
.IX Subsection "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 \fBimpressive.py\fR. 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
.br
\fB    Fullscreen = True\fR
.PP
.SH "    WORKING DIRECTORIES"
.IX Subsection "WORKING DIRECTORIES"
The working directory while executing the info scripts themselves is always the directory in which the info script is stored in.
.PP
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. \fB'sound': "music.mp3"\fR is written in the info script for one page of \fBpresentation.pdf\fR, the file \fBmusic.mp3\fR is expected to be located in the same directory as \fBpresentation.pdf\fR.
.PP
.SH "AUTHOR"
.IX Header "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.
.SH "REPORTING BUGS"
.IX Header "REPORTING BUGS"
Report bugs to to <martin.fiedler@gmx.net>.