Skip to content

Repository files navigation

touchbar-doom

An optional Standard Agents Doom demo package for Omarchy with T1Bridge. It shows how a custom renderer can turn the Touch Bar into something beyond standard buttons. It is not part of Omarchy's default installation.

Play DOOM (1993) with a 640-pixel panoramic game view. A tighter vertical crop keeps objects in proportion, with no horizontal stretch. Evenly spaced HUD panels show AMMO / HEALTH / ARMOR, the player face, equipped weapon, and level statistics. Tap QUIT at the far left (or press Fn) to restore the previous renderer and release the keyboard. Tap MUTE at the far right to toggle Doom's music and effects without changing desktop volume.

Built on the vendored doomgeneric engine (GPL-2.0; vendored commit in vendor/doomgeneric/VENDORED_COMMIT) with the platform layer implemented in Rust. This repository is GPL-2.0-only.

Launching starts E1M1 on normal difficulty. While gameplay is active, a small Wayland banner takes exclusive keyboard focus and inhibits desktop shortcuts. Losing capture or the Touch Bar connection exits gameplay and restores the prior renderer. Mouse input remains available. run --demo plays prerecorded demos without capturing the keyboard.

Key Action
Up / Down Move forward / backward
Left / Right Turn
Ctrl Fire
Space Use / open doors
Shift Run
Alt + Left / Right Strafe
Comma / Period Strafe left / right
1–7 Select weapon
Tab Automap
Esc Doom menu
Fn or Touch Bar QUIT Exit and restore previous renderer

The display size is fixed to the Touch Bar layout; Doom's screen-size and detail settings do not resize it.

Install the optional package

Requires Omarchy on an x86-64 T1 Touch Bar Mac with a working T1Bridge Touch Bar and user service (t1-touchbar.service). This is an alternate renderer, not a hardware driver installer. The renderer runs as your graphical user.

Download the package from Standard Agents releases, then install it with:

sudo pacman -U ./touchbar-doom-0.1.0-7-x86_64.pkg.tar.zst

Supply the game data below, then open Touch Bar Doom in the application launcher, or run touchbar-doom launch. Installation and upgrades do not select the demo, change user configuration, restart services, or make it the default renderer. Launching explicitly selects it until Quit or Fn restores the prior selection. Quit before removing the package.

Game data

The shareware IWAD is never bundled. The binary looks for it at --iwad, $DOOMWADDIR/doom1.wad, then $XDG_DATA_HOME/touchbar-doom/doom1.wad (normally ~/.local/share/touchbar-doom/doom1.wad). For launcher/service use, put your shareware IWAD in that XDG data location. Supply your own Doom shareware IWAD and copy it there; no game data is fetched by the package build or installation:

install -Dm644 /path/to/doom1.wad "${XDG_DATA_HOME:-$HOME/.local/share}/touchbar-doom/doom1.wad"

Usage

touchbar-doom launch             # check game data, select DOOM, restart renderer
# tap QUIT at the far left or press Fn to restore the normal renderer

touchbar-doom run --seconds 10   # run directly (service must not hold the socket)
touchbar-doom preview            # render one frame to a PNG, no hardware needed

launch (or select --restart) re-points ~/.config/t1bridge/renderer at this binary (saving the previous target to renderer.previous); the Quit/Fn hatch restores it and restarts t1-touchbar.service. Runs as the graphical user, never root.

Failure mode: a fatal engine error (bad WAD, demo desync) exits the process; the T1Bridge launcher then falls back to the packaged default renderer once.

Build and distribute

The build is standalone: it does not need a private checkout of touchbar-rs. The public renderer protocol client is included with its original MIT license; see THIRD-PARTY.md.

sudo pacman -S --needed base-devel rust pkgconf sdl2_mixer fluidsynth soundfont-fluid
make quality
make dist                  # requires pacman-contrib for updpkgsums
cd dist
makepkg                    # builds and tests the optional Arch package

Distribute the binary package together with touchbar-doom-0.1.0.tar.gz and the generated, checksummed PKGBUILD. These include the modified engine source and license notices; they exclude the proprietary IWAD, screenshots, saves, and local configuration. No public package repository is configured by this project. Omarchy repository/AUR availability must be arranged separately.

About

Optional Doom custom Touch Bar UI demo for Omarchy and T1Bridge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages