Toshy v26.03.0
Releases from this project are meant only as records of major changes. There will be automatic attachments generated by GitHub, but to get the latest version download the zip from the green <> Code ▼ button on the main page, or use the quick-install one-liner command.
Changes
This is a catch-up release covering roughly August 2025 through February 2026.
New distro support
- Add support for Gentoo Linux (portage/emerge, USE flags, Wayland emerge support)
- Add support for AerynOS (moss package manager)^ — community PR from @armerpunkt
- Add LMDE 7 support (handles
linuxmintdistro ID) - Support Omarchy on ARM (
archarmdistro ID)
New features and improvements
- Optimize
matchPropscalls by hoisting repeated variables out of per-keymap lambda closures — significant config refactor reducing redundant evaluations - VSCode embedded terminal: copy/paste override for the integrated terminal (disabled paste override that conflicted with selection buffer)
- VSCode Find: Replace All (
Cmd+Enter) remap added - Enter-to-rename made more reliable in file managers
- More robust systemd service setup script, with verbose debug mode split into a separate file
- D-Bus services now handle SIGTERM cleanly and unbuffer output for better log visibility
- Warn about Cinnamon Wayland session bugs when detected
- Handle wrapped process names on NixOS (e.g.,
/nix/store/.../firefoxstyle paths) - Show how to open Cinnamon Menu with
Cmd+Spacein post-install notes - Bypass the initial install reboot notice when feasible (uinput already loaded)
Fixes
- Fix memory leak in wlroots-dbus service^^ — community PR from @higorprado
- Fix GNOME extension check to look for both user-installed and system-installed extensions (was missing user extensions on Ubuntu)
- Fix numbered tab navigation in Firefox and Chrome browsers
- Fix delete/kill line shortcut in KWrite (uses
Ctrl+K) - Fix Contour terminal decrease font size shortcut
- Catch
firefox_firefoxapp class variant (snap/flatpak naming) - Update Ghostty app class and keymap for recent Ghostty changes
- Add
firefox-nightlyto Firefox app class list - Pin PyGObject<=3.50.0 on systems without GLib>=2.80 (fixes install failures on older distros)^^^
- Handle
libgirepository-2.0-devon newer Debian/Ubuntu (GObject introspection API change) - Add
wayland-develto RHEL-based package list - Fix package name and quirks handler for Solus (older versions)
- Install more GTK4 support packages on newer Debian/Ubuntu
- Fix bootstrap script repo directory case after rename — community PR from @keith-ferney
- Fix broken README link for unrecognized keyboards — community PR from @robstrong
- Fix reinstall command script, fix Ark not creating symlinks from zip file
- Remove broken symlinks to service scripts (from previous refactor)
- Remove
Dictimport, stringify remaining type hints (Python 3.6/3.14+ compat)
Installer/setup tweaks
- Improve logging and quirks handling on Solus (color codes contaminating search output)
- Refine logging of PyGObject version pinning decisions
- Stage future Ayatana Indicators package for Debian/Ubuntu
- Promote
repeat_cachekeymapper option overignore_repeating_keysin config - Update Apple keyboard devices list
- Adjust default throttle delays (8ms/12ms)
- Bootstrap script: reorder options first, quiet unzip
^ AerynOS uses the moss package manager, which required a new package handler type in the setup script.
^^ The wlroots D-Bus service had a file descriptor leak that could gradually consume resources, possibly only on smithay-based compositors like Niri.
^^^ PyGObject 3.52+ requires GLib 2.80+, which isn't available on distros like RHEL 8/9, older Ubuntu LTS, etc. The installer now detects this and pins automatically instead of failing cryptically during pip install.
Auto-generated full release notes (click to expand):
What's Changed
- Update bootstrap.sh with the correct case for the Toshy directory by @keith-ferney in #697
- Adapt to repo name change (toshy to Toshy) by @RedBearAK in #698
- Update Apple keyboard devices list by @RedBearAK in #699
- Fix reinstall command script by @RedBearAK in #702
- Overcome Ark not creating symlinks properly by @RedBearAK in #703
- Display versions for main svc scripts by @RedBearAK in #704
- Remap Cmd+Enter (Find: Replace All) in VSCodes by @RedBearAK in #705
- Bump default config ver (VSCode Replace All) by @RedBearAK in #706
- Update Firefox app class list (firefox-nightly) by @RedBearAK in #710
- Update Ghostty app class and keymap by @RedBearAK in #712
- Fix numbered tab nav in Firefoxes and Chromes by @RedBearAK in #714
- Fix Contour term decrease font size shortcut by @RedBearAK in #717
- VSCode term copy/paste, debug svcs setup by @RedBearAK in #729
- Disable VSCode paste ovrd (uses selection buffer) by @RedBearAK in #730
- Pin pygobject only in RHEL/CentOS 7/8, not global by @RedBearAK in #732
- Deb/Ub new vers need gir 2.0 dev pkg by @RedBearAK in #736
- Catch "firefox_firefox" app class, version bumps by @RedBearAK in #737
- More GTK4 support pkgs on newer Debian/Ubuntu by @RedBearAK in #739
- Stage future Ayatana Indicators pkg Debian/Ubuntu by @RedBearAK in #740
- Make Enter-to-rename more reliable by @RedBearAK in #744
- Pin PyGObject, add pkg wayland-devel to RHELs by @RedBearAK in #746
- Use imported PIPE directly, not subprocess.PIPE by @RedBearAK in #747
- Fix delete/kill line in KWrite (uses Ctrl+K) by @RedBearAK in #749
- Fix logging quirks, comment, requirements by @RedBearAK in #750
- Promote repeat cache over ignore_repeating_keys by @RedBearAK in #751
- Fix Solus support for 4.8 release by @RedBearAK in #752
- Prevent incorrect extension prompts on Ubuntu by @RedBearAK in #754
- Version bump for Ubuntu extension check fix by @RedBearAK in #755
- Improve logging in setup, services by @RedBearAK in #757
- Support Omarchy on ARM (archarm) distro ID by @RedBearAK in #759
- Add distro ID 'linuxmint' (seen on LMDE 7) by @RedBearAK in #760
- Add comment about the 'linuxmint' distro ID by @RedBearAK in #761
- Update matchProps, adjust default throttle delays by @RedBearAK in #762
- Reminder for Cinnamon Menu and Cmd+Space by @RedBearAK in #763
- Intial reboot notice bypass, when feasible by @RedBearAK in #764
- Check env to warn about Cinnamon Wayland bugs by @RedBearAK in #765
- Improve handling of uinput persistence setup by @RedBearAK in #772
- Add support for AerynOS/moss package manager by @armerpunkt in #771
- Style and comment tweaks to AerynOS support by @RedBearAK in #773
- Rearrange bootstrap, options first, quiet unzip by @RedBearAK in #774
- Add full support for Gentoo Linux by @RedBearAK in #779
- Handle NixOS wrapped processes better by @RedBearAK in #781
- fix broken link in readme for unrecognized keyboards by @robstrong in #783
- Fix memory leak in wlroots-dbus service by @higorprado in #782
- Optimize matchProps, pre-load with hoist vars by @RedBearAK in #788
New Contributors
- @keith-ferney made their first contribution in #697
- @armerpunkt made their first contribution in #771
- @robstrong made their first contribution in #783
- @higorprado made their first contribution in #782
Full Changelog: Toshy_v25.08.0...Toshy_v26.03.0