beamer-control
Overview
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)
- Ensure you are running
at-spi2-registryd
- Run
beamer-control
and usexwininfo
to identify its window id - 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
- 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):
\makeatletter
\def\beamer@framenotesbegin{%
\gdef\beamer@noteitems{}%
\gdef\beamer@notes{{}}%
}
\makeatother
- 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
\fi
\ifshowOnlyNotes
\setbeameroption{show only notes}
\fi
- Build slides with
pdflatex presentation.tex
- Build notes with
pdflatex --jobname=notes "\let\ifshowOnlyNotes\iftrue\input{presentation}"
- Open the slides using evince and place them on one screen in presentation mode
- Open the notes using evince and place them on the other screen in fullscreen mode
- Run
beamer-control
and place on the notes screen (anywhere but the top-left corner) - Control the presentation by placing the focus on beamer-control and pressing the up or down arrow keys