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.
- Download Bema [VERSION] from [DOWNLOAD LINK] and drag it to Applications.
- Open a deck: right-click a
.pptxin Finder and choose Open With → Bema, drag it onto Bema's window or Dock icon, or use File → Open ⌘O. - 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.
| Keys | Action |
|---|---|
| → ↓ Space Page Down Return | Next |
| ← ↑ Page Up | Previous |
| Home End | First or last slide |
| B or . | Black screen |
| W or , | White screen |
| L P H | Laser, pen, highlighter |
| S M T | Spotlight, magnifier, stamps |
| E | Clear drawings and stamps |
| 1 2 3 | Confetti, applause, hearts |
| Esc | Put the pointer tool away, or end the show |
| ⌘↩ | Start the slideshow |
| ⌘+ ⌘− | Notes size |
| ⌥⌘P | Start or pause the prompter |
| ⇧⌘P | Present the deck open in PowerPoint |
| ⌃⌥P | Same, from any app, PowerPoint included |
| ⇧⌘R | Show the last talk report |
Before the show starts, the arrows step through slides and notes locally, so you can rehearse without PowerPoint playing.
bema:// links
Open these from Shortcuts, a Stream Deck button, a script or Terminal.
| Link | What it does |
|---|---|
bema://present | Present the deck that's open in PowerPoint. |
bema://present?path=/full/path/deck.pptx | Open and present that file. |
bema://prompter | Open the detached prompter window. |
bema://prompter?place=camera | Open it and snap it under the camera. |
$ open "bema://present?path=$HOME/Talks/keynote.pptx"
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