Repository navigation
v0.23.1
What's Changed
Added
- A Local Shell tab can be given a name of its own — right-clicking a Local Shell tab now offers Rename Tab…, which titles the tab with whatever is typed (build logs, tails, irssi) instead of leaving every shell titled Local Shell. The label names the tab only: no connection is created and the shell itself is untouched. Leaving the field empty restores the default name, because an untitled tab cannot be told apart from a broken one in the tab bar. The label is remembered across restarts with Session Restore, since the snapshot already stores each tab's title and the Local Shell now reopens under it rather than under a hardcoded name; a saved workspace carries it too. The item is offered on Local Shell tabs only — a tab with a saved connection is renamed by editing that connection, which keeps the sidebar, the history and every open tab in step. In the dialog, Enter commits the label through the same path as Apply, and the field takes the keyboard focus on open.
- A tab's group now survives Session Restore — the restore snapshot carried each tab's title but discarded its tab group, so a grouped tab (a Local Shell or a connection) reopened ungrouped after a restart. The snapshot now records the group alongside the title and reapplies it on restore — synchronously for a Local Shell, and through the session-start observer for a connection, whose tab appears asynchronously after credential resolution. The group is carried structurally, never baked into the stored name, so a grouped tab comes back under its base label (even one that itself looks like
[x] y) with the[group]prefix composed once rather than doubled, and a snapshot written by an older version (which has no group field) still loads and simply restores ungrouped. A saved workspace reapplies the group for Local Shell tabs; a connection reopened from a workspace, and a SPICE connection whose pre-connect port check defers the tab, still restore ungrouped — their start paths carry no observer yet. - Opt-in directional tab-close items (Settings → Interface → Window) — the tab context menu's close block stays short by default (Close Tab, Close Others, Close All Tabs), and a new Show directional tab-close items switch adds Close to the Left and Close to the Right for the workflow that closes a run of tabs to one side. Off by default, since shown unconditionally they lengthen the menu for everyone; the toggle takes effect on the next right-click, and a config written before the key existed loads with the items hidden.
Changed
- The sidebar's "⋯" menu carries the connection-management actions again — the 0.23 redesign had moved New Connection, New Group, the Tools managers (Clusters, Workspaces, Snippets) and Import/Export out of the sidebar's secondary menu into the content header's primary menu, on a one-menu-per-window reading of the HIG. In practice that put the actions a user reaches for most two clicks farther away — across to the far header and down through a submenu — so they live in the sidebar "⋯" menu again, beside the list they act on, grouped as Create · Tools · List · Select · Sort. The icon stays the three-dot
view-more(⋯), a panel-scoped secondary menu, not a second hamburger. The content header's primary menu still lists the same entries app-wide, so nothing was lost there — this is a deliberate, convenient duplication of the list-scoped subset. Select Connections and the two sort orderings remain. - The tab context menu is lighter and its Monitor control is now self-explanatory — the Copy block (Host, Port, Address, Username, Password) was removed from the tab menu: it duplicated the sidebar connection menu's tidy
Copy ▸submenu, and copying a connection's fields is an operation on the connection object, which belongs where connections are listed rather than on the live-session tab. The tab menu now carries only session actions plus Edit Connection…, which stays as the one way to reach the editor from an active tab regardless of the sidebar selection. The Monitor control is now a Monitor ▸ submenu of radio items — Off, Activity, Silence, Command finished — with the current mode shown selected, so a mode is chosen explicitly in one click instead of being cycled blindly through a single click-to-advance label. - The tab bar reads as part of the window, GNOME-native — the dividing line under the tabs is repainted in the window's own background tone (and its contrasting shade dropped), so the tab bar blends into the content below it the way Nautilus' does, instead of being fenced off by a lighter rule. Theme-driven, so it follows light/dark and any installed theme pack.
Documentation
- User Guide: "Renaming a Local Shell Tab" — a new subsection under Organization, next to Tab Grouping, covers the Rename Tab… item: that it names the tab and nothing else, that an empty field restores the default, that the label survives a restart through Session Restore and a workspace save, and why the item is absent from a tab that has a saved connection. The Tab Grouping and Activity Monitor sections now describe the Monitor ▸ submenu and note that a tab group is restored across a restart.
Dependencies
- Updated: spki 0.8.0 → 0.8.1, zerocopy 0.8.59 → 0.8.60 (with zerocopy-derive). Flatpak/Flathub
cargo-sources.jsonregenerated to match. No security advisories affected (cargo deny check advisoriesclean). (picky-krb 0.12.5 still held back: itsGssApiMessageErrorvariant breaks the pinned sspi 0.21.3, which does not match it exhaustively.)
Installation
Flatpak (Recommended)
flatpak install flathub io.github.totoshko88.RustConnSnap
sudo snap install rustconnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.23.1_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.23.1-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.23.1-x86_64.AppImage
./RustConn-0.23.1-x86_64.AppImagemacOS (Homebrew)
brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.appAll dependencies (GTK4, libadwaita, VTE, Adwaita icons) are installed automatically.
Requires macOS 13 (Ventura) or later.
OBS Repositories
Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn
# Debian 13 (Trixie)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Ubuntu 24.04 LTS (Noble)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Ubuntu 26.04 LTS (Resolute)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Fedora 44
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_44/home:totoshko88:rustconn.repo
sudo dnf install rustconn
# Fedora 43
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_43/home:totoshko88:rustconn.repo
sudo dnf install rustconn
# openSUSE Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref && sudo zypper in rustconn
# openSUSE Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Leap_16.0/ rustconn
sudo zypper ref && sudo zypper in rustconnArch Linux (AUR)
yay -S rustconnFreeBSD (Ports)
pkg install rustconnFull installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md
Verifying your download
Every binary on this release (deb, rpm, AppImage, Flatpak) is covered two ways.
Plain checksums — download SHA256SUMS alongside the asset, then:
sha256sum -c SHA256SUMSSigned build provenance (SLSA, via Sigstore) — proves the file was built by this
workflow from this commit:
gh attestation verify RustConn-0.23.1-x86_64.AppImage --repo totoshko88/RustConn(The snap is signed by the Snap Store; the macOS build is delivered via the Homebrew tap.)