AIS and collision alarmsearlyMIT
omalookout
The nearest vessel sits in your Omarchy bar. When one will pass within half a mile in the next 12 minutes, the bar turns the theme's urgent color and names it. Every vessel heard is a click away, nearest first, or in a window of its own beside the chartplotter.
What it shows
- Every vessel heard in the last 10 minutes, nearest first: range and bearing, closest point of approach and when, speed, course, status and destination.
- A collision course is flagged red and counted at the top: any vessel passing within 0.5 nm in the next 12 minutes.
- The honest state. With no GPS fix it says there's nothing to range from, and with no hub it says so.
- Night Watch. n turns this window red on black, and leaves the chartplotter beside it as it is.
- In the bar
- AIS 3 · 0.8 nm
- Collision
- ⚠ BAY RUNNER 0.19 nm
- No hub
- AIS off
- Keys
- j k scroll, g G top and bottom, n Night Watch, q close
How it works
omalookout draws; omakeel listens. The hub decodes AIS from a receiver like the dAISy, keeps every vessel, and works out each one's closest point of approach against the boat's fix. It flags a collision course even with the laptop closed. omalookout reads the hub's targets over its socket and reconnects on its own.
Install
Omarchy on x86_64 or aarch64, with omakeel running on your GPS and AIS receiver:
$ omarchy plugin add https://github.com/shieldsworks/omalookout.git --enable
For the window, bind omarchy shell shell toggle org.omahoy.lookout '{}' to a key in ~/.config/hypr/bindings.lua. No boat? Replay omakeel's sample sail, ferry and all, with mise replay in its checkout.
Not yet
- Tested on a replayed sail only. It hasn't met a real AIS receiver yet.
- The collision thresholds are fixed at 0.5 nm and 12 minutes.
- Not a primary means of collision avoidance. Keep a lookout.