Skip to content

v3.1.0 — Linux has landed

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 08 Oct 19:54
· 6 commits to main since this release

Linux has landed

opencode-console-notify now runs natively on Linux — same plugin events,
same settings, same config TUI (fullscreen included). Zero new
dependencies, on every install path.

What works on Linux

  • Toasts via notify-send (needs libnotify-bin). When the binary is
    missing, notifications are skipped silently and doctor tells you
    exactly what to install.
  • Fullscreen config TUI, identical to Windows: same views, same keys
    (j/k/arrows, Enter, Space, shortcuts), same hover, click and wheel.
    It needs a real console; the mouse needs an xterm-compatible terminal,
    and dumb terminals keep full keyboard support.
  • Line mode on pipes and scripts, with the same flags (--lang,
    --toggle, --list-alerts, --list-events, --list-customs, --info).
  • No registration step: Linux has no notification identity registry,
    so install/uninstall manage the plugin file only.

Four ways to install

Shell, one line (new):

curl -fsSL https://raw.githubusercontent.com/IbatoLionDev/opencode-console-notify/main/install.sh | sh

Supports --plugins-dir, --uninstall and --upgrade, plus a local
checkout path that installs offline with no download.

Go CLI binary (new Linux build):

Download opencode-notify-linux from the assets below and run:

./opencode-notify-linux install

npm / npx (now on Linux too):

npm i -g opencode-console-notify
opencode-console-notify install

PowerShell (Windows, unchanged):

irm https://raw.githubusercontent.com/IbatoLionDev/opencode-console-notify/main/install.ps1 | iex

Verifying your install

opencode-console-notify doctor
opencode-console-notify test

doctor checks the plugin file, the identity and the notifier backend,
and exits non-zero with specifics when something is missing.

Under the hood (3.0.0 + 3.1.0)

  • Per-OS toast backends behind build tags (toast_windows.go,
    toast_linux.go), mirrored in the npm stack.
  • No-op Linux identity with per-OS install/doctor output (Go + JS).
  • Termios raw input plus TIOCGWINSZ size, stdlib only — the whole TUI
    path was already OS-clean, so Linux renders the exact same interface.
  • Screen core and customs flows split by responsibility (Go+JS mirror,
    no file over 200 lines).
  • CI now runs an ubuntu-latest runtime (build, vet, gofmt, tests,
    install.sh smoke, npm smoke) next to windows-latest.

What's next

macOS support (console_darwin.go, native backend, no-op identity) and
rich notification-center actions (buttons, images).

Binaries

SHA256 (opencode-notify.exe): 4A9CB3C6888C925345FAB652535EBF1C303C9FD3274C0EFA57C1CE9DAF8D9202
SHA256 (opencode-notify-linux): 4DB8011FC45C4E5E0CC761C603C7FA52F57CD86185E3C3181B02B7E74354739D