Bruce 3.2.1

The Presentation Tool
Bruce, the Presentation Tool is for people who are tired of fighting with presentation tools. Presentations are composed (edited) in plain text files. In its basic form it allows text, code, image, interative Python sessions and video.

It uses pyglet to displays via OpenGL and handle multi-head (the most common presentation setup) so you can have the presentation displayed on a projector while your laptop displays the original presentation source shown alongside (showing notes and animation or presentation cues).

How to use Bruce, the Presentation Tool

To invoke bruce, run:

% bruce [presentation source.txt]

With no command-line arguments Bruce will pop up a simple GUI.

There's a number of command-line controls - use bruce -h to learn what they do.


left, right arrows; left, right mouse button; space bar (forward)
 Move back and forward pages.
page up, page down
 Move back and forward 5 pages.
mouse scroll wheel
 Scroll large page content. You may also drag the contents up or down by dragging a left mouse button press up and down the screen. If a page has an embedded Python Interpreter you may use the scroll-wheel to scroll its contents (when the mouse is over the interpreter). Clicking and dragging always scrolls the whole page.
 Switch between fullscreen and windowed mode
 Exit presentation
home, end
 Go to the first or last page

How to write presentations using Bruce, the Presentation Tool

Bruce presentations are written as plain-text files in the ReStructuredText format with some extensions. See the examples folder *.rst files for some samples, the simplest being "simple.rst" which displays plain text sentences centered on a white background (using the "big-centered" style):

.. load-style:: big-centered

Text displayed centered on the default white background.


A new page, separated from the previous using the four

Ut enim ad minim veniam.

A Page Title

Pages may optionally have titles which are displayed
centered at the top by default.

and so on.

Main features:

  • displays ReStructuredText content with one page per section or transition
  • has a "bullet mode" which displays one page per bullet point
  • handling of most of ReStructuredText, including:
  • inline markup for emphasis, strong and literal
  • literal and line blocks
  • tables
  • block quotes
  • definition, bullet and enumerated lists (including nesting)
  • images - inline and stand-alone, including scaling
  • page titles (section headings)
  • page layout and decorations
  • scrolling of content larger than a screenful
  • sensible resource location (images, video, sound from the same directory as the presentation file)
  • and some extensions of ReST:
  • embedded Python interative interpreter sessions
  • videos (embedded just like images) with optional looping
  • stylesheet and layout changes on the fly (eg. multiple fonts per page)
  • transitions between pages
  • timer and page count display for practicing
  • may specify which screen to open on in multihead
  • runs fullscreen at native resolution
  • may switch to/from fullscreen quickly

last updated on:
January 23rd, 2009, 15:09 GMT
license type:
BSD License 
developed by:
Richard Jones
ROOT \ Multimedia \ Graphics
Download Button

In a hurry? Add it to your Download Basket!

user rating



Rate it!
What's New in version 3.2
  • distribute as an application
  • add Bruce Style Sheets (BSS)
  • add simpler vertical / horizontal gradients
  • add in gradual exposure of list items
read full changelog

Add your review!