Skip to content

ttyak v0.12.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 04:53
· 256 commits to master since this release

Notifications, sound, the bell and the tab title now work as one. Each message is judged once — nothing, unread, or for you — and everything follows from that: the bubble and its sound fire together or not at all, the pause, the schedule and your system's do-not-disturb hold back all of it, and the badge always shows the truth.

A click lands where it should

  • A click on a notification opens exactly what it showed — the message, or the reply inside its thread — in NORMAL mode, never typing.
  • It brings the terminal forward where the desktop allows it: kitty shows the notification itself and focuses its window and tab; elsewhere ttyak raises the window through kitty or WezTerm remote control, Hyprland, sway, niri, KDE, X11, and switches to its tmux pane. On macOS it brings Terminal.app's tab forward. GNOME on Wayland can't be raised from outside (unless the terminal does it, as kitty does).
  • A click on a notification from a workspace you've since left switches back to it.

One notification per conversation

  • A newer message replaces the older bubble instead of stacking, and the bubble goes away once you've read the conversation — here or on another device.

The tab title shows ○ ttyak - <workspace>, ● when anything is unread, ◆ when a DM or mention is waiting (in any of your workspaces); your terminal's own title comes back when ttyak ends.

Read marks wait for you — a conversation open on screen is no longer marked read while the terminal is in the background.

Sound follows do-not-disturb — where the notification server can play it, the sound goes with the notification; otherwise ttyak asks your notifier (swaync, mako, dunst, GNOME, KDE; Windows' Focus Assist) whether it's quiet first.

The bell (off by default, F6 → Notifications): rings the terminal bell when something is for you and the terminal isn't focused — most terminals mark the window urgent. On some desktops (kitty with Hyprland's focus_on_activate) a bell brings the window forward.

F6 → Notifications is now the one place for all of it, including what this machine supports ("shown by kitty · a click brings the window forward via Hyprland"), the system's do-not-disturb, and Send a test notification.

For scripts and bars

  • ttyak ctl status (--json, --follow) reads what ttyak shows — read / unread / for you, per workspace, pause, huddle, update — for Waybar, Polybar, tmux or anything else. No message text or names in it.
  • ttyak ctl check reports what your terminal and system support and prints glyph samples so you can spot missing fonts. The README has a new Requirements section.

Also

  • macOS: notifications now show at all on macOS 26 — they come as your terminal's (Terminal's notifications must be allowed in System Settings; while the screen is shared macOS keeps them in the Notification Centre).
  • Windows: toasts replace and withdraw per conversation; they show under PowerShell's name.
  • Lighter CI: less load on GitHub's runners.

Not tried yet (should work, not checked on a real desktop): clicking a Windows toast and the window coming forward, Focus Assist on screen, the classic console (conhost); a real click on kitty's own notification from another workspace; the Hyprland raise through the system notifier.

Install or update as before: https://ttyak.sh — installed with the script, ttyak offers the update itself (F6 → Updates).