Docs

Getting Bema running next to PowerPoint, what it asks your Mac for and why, and every shortcut.

Install

You need macOS 14 Sonoma or later and Microsoft PowerPoint for Mac.

  1. Download Bema [VERSION] from [DOWNLOAD LINK] and drag it to Applications.
  2. Open a deck: right-click a .pptx in Finder and choose Open With → Bema, drag it onto Bema's window or Dock icon, or use File → Open ⌘O.
  3. Already have the deck open in PowerPoint? Press ⌃⌥P from anywhere to present it.

Present with Bema in Finder

Right-click a deck and look under Quick Actions or Services. If it isn't there, turn it on in System Settings → Keyboard → Keyboard Shortcuts → Services → Files and Folders.

Permissions

macOS asks for each one the first time a feature needs it. Only Automation is required.

Automation → PowerPoint

Asked when you first open a deck · required

Lets Bema open the deck, export slide previews, and start and step the slideshow through AppleScript.

Accessibility

Asked when you first present on a second display

Lets Bema switch PowerPoint's slideshow window to true full screen on that display. Without it, the slides still show, with a title bar.

Microphone

Asked when something first listens

The Voice prompter, speech coach, live captions and voice commands. Auto and Manual prompter modes don't need it.

Speech Recognition

Asked with the microphone

Turns what you say into words to match against your script. It runs on the Mac when Apple supports your language offline; otherwise Bema says it's using Apple's servers.

Listed under Accessibility but the full-screen hint still shows? That entry belongs to an older build. Remove it with – and allow Bema again. Builds signed ad hoc lose their permissions on every rebuild; see Build from source.

The camera bubble asks for the Camera, and the phone remote or a poll may trigger macOS's incoming-connections or Local Network prompt.

Keyboard shortcuts

These work in the presenter window. Most clickers send the same keys as the arrows or Page Up and Page Down.

KeysAction
→ ↓ Space Page Down ReturnNext
← ↑ Page UpPrevious
Home EndFirst or last slide
B or .Black screen
W or ,White screen
L P HLaser, pen, highlighter
S M TSpotlight, magnifier, stamps
EClear drawings and stamps
1 2 3Confetti, applause, hearts
EscPut the pointer tool away, or end the show
⌘↩Start the slideshow
⌘+ ⌘−Notes size
⌥⌘PStart or pause the prompter
⇧⌘PPresent the deck open in PowerPoint
⌃⌥PSame, from any app, PowerPoint included
⇧⌘RShow the last talk report

Before the show starts, the arrows step through slides and notes locally, so you can rehearse without PowerPoint playing.

Build from source

Needs Xcode, or the Xcode command line tools with Swift 6.

$ git clone [GITHUB URL]
$ cd bema
$ ./Scripts/build_app.sh --install
# builds build/Bema.app, copies it to ~/Applications, registers it with Finder

$ swift test

You can also open Package.swift in Xcode.

build_app.sh signs with your Developer ID or Apple Development certificate when one is installed, so permissions stick across rebuilds. With an ad-hoc signature, macOS forgets them after each rebuild.

The tests cover speech-to-script matching in English and Hebrew, voice commands, note cues, poll voting and the phone remote's secret, and render a few things to images in $TMPDIR.

To print a deck's titles and notes: Bema.app/Contents/MacOS/Bema --dump-notes deck.pptx