v0.15.11
What's Changed
Fixed
Keybindings
- Recorder did not register keystrokes on Flatpak/Wayland (#170, #167) — the inline recorder (0.15.7–0.15.10) attached an
EventControllerKeyto the toplevel window and depended on row focus, which was unreliable insideAdwPreferencesDialog. Replaced it with a dedicated modalAdwDialog(the pattern GNOME Control Center uses) that owns its own keyboard focus, so every key press is captured. Escape cancels, Backspace resets to default, conflicts still warn, and global accelerators are suspended during capture. - Custom shortcuts showed defaults after reopening Settings or restarting (#170) — overrides were saved and applied correctly, but the UI always displayed the default.
move_groupsreparents the keybinding rows into the Interface page, leaving the page thatload_keybinding_settingswalked empty, so no label was updated. The accelerator labels are now tracked directly via aHashMap<action, Label>instead of walking the widget tree.
Snap
- Package failed to start on Ubuntu 26.04 (#174) — the snap targeted
base: core26and hand-rolled the GTK4 runtime because thegnomeextension does not yet support core26 (snapcraft#6185), omittingdesktop-launch, the GNOME platform and the matching AppArmor accesses. Moved tobase: core24withextensions: [gnome], which provides the complete, correctly-confined GTK4 environment. (The 0.15.10 note blaminggrade: develwas wrong —gradeonly controls store channels.) - App could not register on the session D-Bus —
g_application_registerwas denied by AppArmor because a confined snap may only own names derived from the snap name, not the app ID. Added adbusslot (bus: session,name: io.github.totoshko88.RustConn); the providing snap is auto-granted ownership. The Flatpak build is unaffected. - Transparent window and broken icons — affected only the snap (native, Flatpak and other GTK4 snaps rendered fine). VTE must be staged (the platform omits it at runtime), but its
.debdrags in a second copy of the whole GTK4 stack. The platform's libadwaita then bound against ourlibgtk-4(ABI mismatch → transparent window) and the platform's SVG loader against our newerlibrsvg(→ broken icons). Aprimeexclusion now drops every platform-provided GTK/GLib/render library, keeping onlylibvteitself, so a single matched copy is used process-wide.
Changed
Keybindings
- Shortcuts are stored layout-independently (Latin) (#170) — recording under a non-Latin layout (e.g. Cyrillic) used to store the localised keyval, so pressing "F" produced
<Control>ф, which stopped matching after switching back to Latin. The recorder now resolves the hardware keycode to its ASCII keyval. Function keys are unaffected.
Snap
- Base
core26→core24(Ubuntu 24.04 LTS / GNOME 46 / libadwaita 1.5) — the GUI is now built without--features adw-1-8. The 1.6/1.7/1.8 widgets fall back to 1.5 equivalents (AdwSpinner → GtkSpinner, AdwToggleGroup → linked buttons, AdwShortcutsDialog → legacy dialog), preserving functionality with slightly less polish than the Flatpak (GNOME 50) build. Can return to core26 + adw-1-8 once the gnome extension supports core26. - CI installs Snapcraft from
latest/stableagain (thelatest/candidate9.x pin was only needed for core26). - Added a
title(RustConn) so the Store listing and metadata linter no longer report a missing field.
Installation
Flatpak (Recommended)
flatpak install flathub io.github.totoshko88.RustConnSnap
sudo snap install rustconnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.15.11_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.15.11-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.15.11-x86_64.AppImage
./RustConn-0.15.11-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