Repository navigation
Releases: DevGeekPhoenix/phoenix-term
Releases · DevGeekPhoenix/phoenix-term
Release list
v0.9.0
Graphical system monitor
The sidebar is now a live graphical dashboard on Ghostty + tmux:
- Orbitron LED clock — pixel-exact, rendered with Kitty graphics
- Ring gauges — CPU, memory, disk, battery
- Network dials — download & upload, with the rate in the centre and the unit in the dial
- CPU temperature — live, no sudo (macOS SMC · Linux hwmon)
- Public IP in the network title — updates live when your network changes (Wi-Fi switch, VPN)
Faster & lighter
The sidebar no longer shells out to top every second — CPU is sampled natively (host_statistics via ctypes), and a single shared collector feeds every tab instead of each pane sampling on its own.
- Metric collection is ~67× faster — 585 ms → 9 ms per update
- A sidebar that used to burn over half a CPU core every second now sits near 1%
- It scales with tabs — the collector samples once, not once per pane
- Compact too: the whole graphical dashboard adds only ~0.5 MB (a factored gauge atlas, not thousands of pre-baked frames)
⇄ Reorder tabs
Move the current tab left / right:
- macOS —
Cmd+Alt+,/Cmd+Alt+. - Linux —
Ctrl+Shift+,/Ctrl+Shift+. - Anywhere —
Ctrl-A </Ctrl-A >
Configurable font size
New phoenix-term settings option PHOENIX_FONT_SIZE — auto (14 on macOS, 12 on Linux) or a fixed number.
v0.8.3
Park & resume — now per-tab
Ctrl-A d / Ctrl-A a operate on the current tab, not the whole window:
Ctrl-A dparks just the current tab — its window moves to a hidden holding
session; your other tabs stay put.Ctrl-A aresumes a parked tab into the current window (picker;Ctrl-X
kills one) — it's added as a new tab, not swapped in over everything.Cmd+W/ tab-close is untouched — park/resume no longer detaches or switches
sessions.- Thanks to @mdaneshyab for reporting this in #3.
v0.8.1
Fix: installer preflight crash on Debian & Fedora
- Preflight no longer aborts with
$4: unbound variable. Adding the
Fedora/Arch support in v0.8.0 grew the_pre_need_cmdhelper to read$4/$5,
but the Debian (3-arg) and Fedora (4-arg) call sites still passed fewer — so
under the installer'sset -euo pipefailthe unbound argument killed the run
before anything was installed. - Fix: the optional hint args now default to empty (
${4:-}/${5:-}), so
preflight survives on every OS. macOS and Arch were never affected. - Thanks to the discussion bug report that pinpointed the exact line. 🙏
- Final discussion answer
Fix: installer preflight crash on Debian & Fedora
- Preflight no longer aborts with
$4: unbound variable. Adding the
Fedora/Arch support in v0.8.0 grew the_pre_need_cmdhelper to read$4/$5,
but the Debian (3-arg) and Fedora (4-arg) call sites still passed fewer — so
under the installer'sset -euo pipefailthe unbound argument killed the run
before anything was installed. - Fix: the optional hint args now default to empty (
${4:-}/${5:-}), so
preflight survives on every OS. macOS and Arch were never affected. - Thanks to @emad1234-msoudi and @makcodeir who pinpointed the exact line. 🙏
v0.8.0
🏛️ Arch Linux support
- Phoenix now installs on Arch and its derivatives — Manjaro, EndeavourOS,
Garuda, CachyOS, ArcoLinux, Artix (and anything withID_LIKE=arch, e.g.
SteamOS) — on x86_64 / aarch64.detect_osgains a fourth target and the
installer dispatches to apacmanpath;phoenix-term doctorand preflight
grew Arch arms too. - Everything comes from the official repos, Ghostty included (
extra/ghostty)
— no COPR or.debdance. The one exception,lazyssh(AUR-only), is fetched
from its GitHub release like on the other distros. ⚠️ Full system upgrade on install. Arch forbids partial upgrades, so the
installer runs a completepacman -Syurather than-Sy <pkg>— it upgrades
your whole system, not just Phoenix's packages (a kernel bump may want a
reboot). This is the safe, Arch-correct behavior.- RHEL/Rocky/Alma remain unsupported — they're rejected explicitly, same as
before.
v0.7.0
Fedora support
- Phoenix now installs on Fedora and its derivatives (Nobara, Ultramarine,
Bazzite) on x86_64 / aarch64 —detect_osgrows a third target and the
installer dispatches to adnfpath (DNF_PACKAGES+ the shared Linux
extras).phoenix-term doctorand preflight gained Fedora arms too. - Ghostty on Fedora installs from the
scottames/ghosttyCOPR, with a
manual-install fallback printed if it can't (Phoenix still runs in any
truecolor terminal). - RHEL/Rocky/Alma stay unsupported — they advertise
ID_LIKE=fedorabut
ship a different package set, so they're rejected explicitly rather than
installed into a broken state.
tldr fixed on Debian 13 (and hardened everywhere)
- Debian 13 (trixie) removed the
tldrpackage, so it silently went missing.
Phoenix now installstealdeer(whose binary istldr) via a dedicated
installer: native package on Debian 11/12/13, Ubuntu, and Fedora, with an
upstream static-binary fallback for any spin that packages neither. Existing
Debian/Ubuntu users keeptldrexactly as before.
v0.6.0
phxssh — SSH host manager
- New
phxsshcommand opens lazyssh: a
keyboard-driven TUI over your~/.ssh/config— connect, add, edit, delete,
fuzzy-search, pin, ping, port-forward. Installed for you: Homebrew tap on macOS,
pinned GitHub release on Linux. Hosts live in your real~/.ssh/config, so a
baressh <host>works too. - Ghostty SSH integration enabled (
ssh-env,ssh-terminfo) — typing
ssh <host>from a Ghostty prompt forwards your env and auto-installs the
xterm-ghosttyterminfo on the remote, so remote colors and keys render correctly.
Release notes now cover the whole gap
- Skip several versions? You now see every release in between — one tab per
version. Switch with←/→or number keys, scroll with↑/↓. So jumping
v0.4.0 → v0.6.0shows v0.4.1, v0.4.2, v0.5.0, v0.5.1 and v0.6.0, not just the
newest. View any span manually withphoenix-term notes <from>..<to>.
⚠️ Aliases renamed: lg/ld → phxgit/phxld
- lazygit and lazydocker are now
phxgitandphxld, joining the new
phx*family (phxssh,phxgit,phxld). Update any muscle memory or scripts.
v0.5.1
Fix: web popup flicker in non-tmux terminals
webno longer flickers/loops outside Ghostty. The saved-links and
web devpopups redrew the whole screen every tick — invisible inside a tmux
popup, but a constant full-screen flash in plain terminals (VS Code, Apple
Terminal, any non-tmux zsh). The TUI now repaints only on keypress or resize,
matching the cheat sheet. Search, navigation, add/edit/delete, and quit are
unchanged.
v0.5.0
Web launcher, tmux power tools & release notes
web— a browser launcher in your prompt.web <url>opens any URL in your
default browser. Barewebpops up your saved links —/to search,Enter/1-9
to open,aadd,eedit,ddelete. Open saved links by name (web github,
case-insensitive prefix works). The list lives in~/.config/phoenix-term/web-list
and survives updates.web dev— localhost picker. Shows every dev server listening right now
(port + process),Enteropens it in the browser,/searches,rrescans.- New tmux power tools.
Ctrl-A Tabfuzzy-grabs any path/URL/word from your
scrollback (extrakto, wired to phoenix-clip) ·Ctrl-A gtoggles a floating
scratch terminal that survives closing ·Ctrl-A *force-kills a hung process ·
copy-modeo/Sopen or web-search the selection (tmux-open). - Release notes popup. After every
phoenix-term update, what's-new appears in
a popup (you're reading it now). Re-read anytime withphoenix-term notes [tag]. - Tab completion for
web(saved names +dev) andphoenix-term
(subcommands,settings --get/--setwith live setting keys). - Popups get rounded LightSeaGreen borders; cheat sheet and README cover everything.
v0.4.2
Divider fixes for editor terminals
- No more stacking dividers in VS Code — VS Code's shell integration rewrites the
prompt around every command, which fed the old divider back into itself: one extra
rule per command. The divider/marker now renders through apromptsubstcall baked
intoPROMPTonce — the prompt string never changes, so integrations wrap it a
single time. Verified against VS Code's realshellIntegration-rc.zsh; also covers
Cursor, Windsurf, and any other OSC 633-style shell integration. - No more stranded divider rows on window resize outside tmux — the live divider
redraw is now tmux-only (the Ghostty experience), where the repaint is reliable.
Bare terminals (VS Code, JetBrains, kitty, …) simply draw the correct divider at
the next prompt. - Docs: README image refresh and formatting cleanups.
v0.4.1
Linux shortcuts that actually work
- Ctrl+Shift mirrors for every Cmd keybind — Super-based shortcuts (Cmd = Super on Linux) are often grabbed by the desktop environment before Ghostty sees them. Tabs, nav, fullscreen, and the cheat sheet now also answer to Ctrl+Shift+T / W / ←→ / Enter /
/on every DE. The Super variants still work wherever your DE leaves them free. - Ghostty's native Linux splits disabled (Ctrl+Shift+O/E) — tmux owns splits, matching the existing Cmd+D unbinds on macOS.
- OS-aware cheat sheet —
Ctrl-A ?now shows the keys for your OS, and on Linux it probes GNOME/KDE/Xfce settings to only advertise Super shortcuts your desktop hasn't grabbed. phoenix-term doctordetects shortcut grabs — new Linux check lists any DE keyboard shortcut shadowing a Phoenix keybind (including custom GNOME bindings via dconf), so "why does Super+Alt+→ do nothing" answers itself.