Table of Contents
- Directory Structure
- File Formats
1. Introduction<OpenTag>Presenter is a Python application designed with an open source model, with extensibility for adding and improving functionality. It is to be used for displaying two dimensional content such as text, graphics, and equations. The program is portable, currently supporting Windows 95/98/NT/ME/2000/XP and Linux distributions. Testing was done with Windows XP Professional and Red Hat 8.
Presentations shown by the application are stored in XML format, which means
easy storage and modification. There isn't yet an editor, so XML code must be
written in a text editor from scratch. Each tag in the XML files correspond to
a Python class definition which describes to how read and display content. For
example, a <font> tag corresponds to a Python class named
font in a file called font.py.
2.1. Required PackagesExtract the zip/tar to a new directory; for example, "/usr/bin/presenter/". If in Linux, ensure the file presenter has executable permission set. The following required packages must be in the path:
- Python 2.2.2
- Qt 3.0.5 (Qt 2.3.0 Non-Commercial for Windows also works)
- PyQt 3.3.2
- SIP 3.3.2
- Red Hat 8 with Python 2.2.2, Qt 3.0.5, PyQt 3.3.2, & SIP 3.3.2
- Windows XP with Qt 2.3.0 Non-Commericial, PyQt 3.3, & SIP 3.3
2.2. Equation PackagesEquation support is optional and may be enabled/disabled within the <OpenTag>Presenter configuration window. For equation support, the following must also be in the path:
- LaTeX (latex)
- Dvips (dvips)
- Ghostscript (gs)
- Netpbm (specifically: pnmgamma, pnmcrop, pnmpad, ppmchange, pnmscale, pnmtopng)
- Red Hat 8 with tetex-latex 1.0.7, tetex-dvips 1.0.7, ghostscript 7.05, netpbm 9.24
- Windows XP with MiKTeX 2.2, Cygwin 1.3.21-1, Ghostscript 7.05-2, libpng12 1.2.5-1, netpbm 10.6-1
3. LaunchingRun <OpenTag>Presenter by executing the presenter file. i.e., "./presenter" in Linux or "python presenter" in Windows, both lines are executed from a shell command prompt. The application also accepts the follwing command line arguments:
- A presentation XML file path following by an optional first slide to go to. For example: "./presenter slideshow.xml 5"
- A directory to open a file dialog to once the application has loaded. For example: "./presenter lectures/cis475/"
4. Operation<OpenTag>Presenter contains a system to bind a keyboard or mouse button to different actions. The bindings are restricted to only singular button presses, so no modifier binds such as CTRL+A or ALT+Enter will work. The default bindings follow:
- Next Slide - spacebar, enter, page down, right arrow, left mouse button
- Previous Slide - backspace, page up, left arrow, right mouse button
- Animate Object(s) Into the Slide - A
- Popup Menu - middle mouse button, P
- Switch To/From Full Screen Mode - F
- Open a Presentation - O
- Refresh the Current Presentation - R
- Quit <OpenTag>Presenter - Q
5. ConfigurationThe settings window can be accessed through the popup menu (by default, brought up through the middle mouse button or P key).
- Full Screen - Display <OpenTag>Presenter at the desktop resolution without any titlebar or borders.
- Window Size - If full screen is unchecked, the titlebar and borders will be drawn in a resolution choosen. The given values are in pixels and a size wider or higher than the desktop resolution can't be chosen.
- Display Slide Number - Check to show the current slide number at the bottom of the display (this is also configurable in presentation XML files in the <slide> tag). This number can be chosen to be hidden "x" number of seconds after the slide is first displayed.
- Display Icon if Slide Objects are Still Hidden - When objects contained on a slide are set to be animated, they are hidden from the display until the Animate In action is pressed (the default bind key is A). Select this option to display an icon in the bottom right corner of the display to indiciate that animation objects are hidden from the display.
- XML Tags Case-Sensitive - Choose whether tags such as "<img>" and "<IMG>" reference the same object definition. (i.e., img.py in the tags/ directory). If this is enabled, the parser will attempt to read a tag definition exactly as seen, so if "<IMG>" is used, it will attempt to read from file IMG.py class definition IMG.
- LaTeX Support Enabled - Choose whether to call latex when the <equation> tag exists in a presentation. If this option is disabled and an <equation> tag is read, the tag will simply be skipped with nothing shown to the screen.
- Quality Scale - Select the quality of the generated images. A higher quality image will have a higher resolution so it will take longer to create and may not look correct in the current display size. It's suggested to only use 4-8, as lower quality is too blurry and higher quality ends up with thin lines cut off once the image is downsized.
- Cache Enabled - Whenever an equation is loaded in <OpenTag>Presenter, it is passed through a number of programs to produce the image file shown. In order to reduce load times, these images can be cached into a directory. The only reason to disable the cache is if a couple megabytes of drive space can't be used up... in other words, don't bother disabling it.
- Cache Directory - Directory to store the generated equation images in. If the path given doesn't exist, <OpenTag>Presenter will attempt to create it. Ensure to set this path to be a new/unused directory since when the cache is cleared, all files with a .png extension are permanently deleted from the file system, whether they were generated by the Presenter or not.
- Clear Cache - Save disk space by removing all images file cached earlier.
6. Directory StructureIn order to extend the functionality of <OpenTag>Presenter, files must be placed in exact subdirectories within the location of the presenter executable script.
- docs/ - HTML files for tag documentation is placed here by the genhelp script.
- images/ - graphics required by defined tags
- images/bullets/ - graphics for custom bullet types
- tags/ - Python class definitions for XML tags used in presentations. See the Tag Writer's Guide for more information.
- examples/ - contains some example XML files for learning how to create presentations.
7. File Formats
- XML - eXtensible Markup Language
- PNG - Portable Network Graphics
- GIF - Graphic Interchange Format (not supported in Qt Non-Commerical for Windows)
- JPG/JPEG - Joint Photographic Experts Group
- PY - Python code