Match Beeper Desktop to the active Omarchy theme. Change themes in Omarchy and Beeper updates in place, including its background, text, borders, message bubbles, and selected states.
| Black Gold | Tokyo Night |
|---|---|
You need:
- Omarchy 4.x
- Beeper Desktop v4, installed from its AppImage
- A local Beeper desktop entry, as created by Gear Lever or AppImage integration
- Python 3.11 or newer
Clone the repository and run the installer:
git clone https://github.com/gmickel/omarchy-beeper-theme.git \
~/.local/share/omarchy-beeper-theme
~/.local/share/omarchy-beeper-theme/install.shThe installer needs no root access. It backs up your existing Beeper CSS and desktop entry before changing either one. If your desktop entry has a custom name, pass its path explicitly:
BEEPER_DESKTOP_FILE=~/.local/share/applications/my-beeper.desktop \
~/.local/share/omarchy-beeper-theme/install.shTo update:
git -C ~/.local/share/omarchy-beeper-theme pull --ff-only
~/.local/share/omarchy-beeper-theme/install.shThe installer:
- writes one marked block to
~/.config/BeeperTexts/custom.css - installs
omarchy-beeper-themeand its launcher in~/.local/bin - registers a supported Omarchy
theme-sethook - routes the local Beeper desktop entry through the launcher
CSS outside the marked block stays untouched. Writes are atomic and skipped when the generated CSS has not changed.
Beeper v4.3.89 marks automatic custom-CSS watching as broken. The launcher therefore starts Electron with a random loopback debugging port and injects the generated CSS when Beeper is ready. Theme changes update the same style element without focusing, moving, or restarting Beeper. The port is available only on the local machine, but other processes running as your user can reach it while Beeper is open.
Generate and apply the current theme manually:
omarchy-beeper-themeInspect the generated CSS without writing it:
omarchy-beeper-theme --stdoutRemove the integration while preserving unrelated custom CSS:
~/.local/share/omarchy-beeper-theme/uninstall.shThe uninstaller restores the original desktop entry. It moves installed files
to ~/.local/state/omarchy-beeper-theme/ so the operation remains recoverable.
Run the local gate:
python3 -m unittest discover -s tests -v
bash -n install.sh uninstall.sh hooks/omarchy-beeper-theme bin/omarchy-beeper-launch
python3 bin/omarchy-beeper-theme --check
tests/test_install.shSee CONTRIBUTING.md before opening a pull request. Report security problems through the private route in SECURITY.md.
Built for Omarchy, because the whole desktop changing theme together is one of its best ideas. The variable map follows the Beeper community theme definitions.
Sponsor maintenance through GitHub Sponsors.
MIT, Copyright 2026 Gordon Mickel.