Beamer is a LaTeX class for creating slides for presentations. beamer-control allows you to simultaneously control two PDF viewers to synchronize slides—displayed with a projector—and notes—displayed a laptop screen. beamer-control uses the AT-SPI accessibility framework to communicate with any compatible PDF viewer.

Setup (in the case of the Awesome window manager)

  1. Ensure you are running at-spi2-registryd
  2. Run beamer-control and use xwininfo to identify its window id
  3. Configure Awesome to treat beamer-control as a floating window; write the following to your Awesome configuration, where beamer-control is the window id from the previous step:
awful.rules.rules = {
	{ rule = { name="beamer-control", instance = "beamer-control" }, properties = {floating = true}},

A workflow

  1. Add the following to your presentation's preamble to ensure every slide has a note (thus the number of slides and note pages are equal):
  1. Add the following to allow building either the slides or notes from the command line:
\ifcsname ifshowOnlyNotes\endcsname\else
\expandafter\let\csname ifshowOnlyNotes\expandafter\endcsname
\csname iffalse\endcsname

\setbeameroption{show only notes}
  1. Build slides with pdflatex presentation.tex
  2. Build notes with pdflatex --jobname=notes "\let\ifshowOnlyNotes\iftrue\input{presentation}"
  3. Open the slides using evince and place them on one screen in presentation mode
  4. Open the notes using evince and place them on the other screen in fullscreen mode
  5. Run beamer-control and place on the notes screen (anywhere but the top-left corner)
  6. Control the presentation by placing the focus on beamer-control and pressing the up or down arrow keys

My research interests include free and open source software, system security, and network security.