Omahub
← All plugins
T

Ostrich Riders

by Tom

A theme-aware Joust-like overlay for omarchy-shell, based on Ostrich Riders. Flap, stay above your opponent, collect the eggs.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
67936ea
Scanned
4 weeks ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
67936ea
Reviewed
4 weeks ago

This is a self-contained QML game plugin with no obfuscation, network access, credential access, or destructive commands. It only reads and writes a small high-score state file under XDG_STATE_HOME, using a defensive Python helper with O_NOFOLLOW and size limits, and invokes mkdir/python3 via argument arrays without shell interpolation. The deterministic scan's 'none' finding matches my independent review.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/TomFaulkner/ostrich-riders --enable
Other #bar #quickshell #games

Ostrich Riders

A theme-aware Joust-like game as a native Omarchy shell plugin.

It runs inside the long-lived omarchy-shell Quickshell process. Click the bar icon (or bind a key) to open a fullscreen overlay. Stay above your opponent, collect the eggs before they hatch, and do not fall in the lava.

Ostrich Riders

Sprites and sounds come from Ostrich Riders (GPL-3.0-or-later). They are stored as grayscale sheets and colorized at runtime from the shell's Color singleton, so the riders follow whatever Omarchy theme you are on. Platforms and lava are drawn the same way.

Install

omarchy plugin add https://github.com/TomFaulkner/ostrich-riders.git --enable

From this checkout:

ln -sfn "$PWD" ~/.config/omarchy/plugins/io.github.tomfaulkner.ostrich-riders
omarchy plugin validate ~/.config/omarchy/plugins/io.github.tomfaulkner.ostrich-riders
omarchy plugin enable io.github.tomfaulkner.ostrich-riders --section right

Then click the horse in the bar, or:

omarchy-shell shell toggle io.github.tomfaulkner.ostrich-riders

A keybind, if you want one, in ~/.config/hypr/bindings.lua:

o.bind("SUPER + CTRL + J", "Ostrich Riders", "omarchy-shell shell toggle io.github.tomfaulkner.ostrich-riders")

Controls

  • Left / Right, A/D, or H/L: move
  • Space, W, or Up: flap
  • P: pause
  • M: mute
  • T: toggle transparency
  • Esc: close

Remove

omarchy plugin disable io.github.tomfaulkner.ostrich-riders
omarchy plugin remove io.github.tomfaulkner.ostrich-riders --yes

High scores live in ${XDG_STATE_HOME:-~/.local/state}/ostrich-riders/state.json and are not deleted with the plugin.

Development

manifest.json      kinds, entry points, bar widget metadata
Game.js            physics and rules (no QML types)
Levels.js          Ostrich Riders standard maps, converted
OstrichRiders.qml  overlay
JousterSprite.qml  grayscale sheet + MultiEffect tint
BarWidget.qml      bar icon
assets/            grayscale sprites and original WAVs
test/              node tests for the rules
node --test
omarchy plugin validate .

Plugin QML is cached; after editing QML run omarchy restart shell.

License

GPL-3.0-or-later. See LICENSE and NOTICE.md.