github RedBearAK/Toshy Toshy_v26.08.0
Toshy v26.08.0

4 hours ago

Toshy v26.08.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](https://github.com/RedBearAK/toshy/wiki/How-to-install-Toshy-with-a-single-command).

Changes

This release covers roughly mid-July through early August 2026. The headline items are experimental NixOS support, Alpine Linux support, and automatic detection of native desktop environment shortcuts (screenshots, app launcher, input source switching) so that the remaps match whatever the DE is actually using.

New distro support

  • Add experimental support for NixOS^ — Nix flake with both a NixOS module and a Home Manager module, a runtime environment seam so launchers and services resolve the right interpreter and PATH, an install-user-files install path for declaratively-managed systems, and a scaffold script for fresh NixOS installs.
  • Add support for Alpine Linux^^ — bootstrap.sh converted to POSIX sh for dash/busybox, bash and shadow added to the package list, eudev quirk handling.
  • Add artix and devuan distro IDs, which follow the existing non-systemd install path (systemd-related packages are dropped automatically; the config process has to be launched manually or autostarted at login by whatever method the DE provides).
  • Let list-distros setup sub-command count NixOS/nix in its totals, and update its output notes. Setup script now supports 12 package manager types, 19 base Linux distro types, and knows 58 specific distro IDs.

New features and improvements

  • Read native screenshot shortcuts from the desktop environment and generate matching remaps automatically, instead of relying on hard-coded defaults that may not match the user's DE version or their customizations^^^
  • Detect the DE's live native app launcher and input source switching shortcuts the same way, with a new setting that swaps which Toshy shortcut lands on each: with the swap enabled, Cmd+Space and Shift+Cmd+Space cycle keyboard layouts and the launcher moves to Ctrl+Space, matching Mac OS X Tiger and earlier, before Spotlight took over Cmd+Space
  • Add toshy-terminal-menu, a fully functional terminal-based alternative to the tray icon and GTK preferences apps, for systems having trouble with the GTK apps or unable to install the packages they need
  • Migrate multi-tap handling into the keymapper (xwaykeyz 1.25.0)
  • Support conditional timeouts in the keymapper (xwaykeyz 1.24.0)
  • Add toshy-share command for getting text out of VMs
  • Cinnamon: fix the menu applet's shortcut on install and revert it on uninstall, and avoid triggering the bug reporter dialog on Cinnamon 6.8+
  • GTK4 preferences app: reduce window height for small screens, consolidate theming into a single CSS module, rework the Tools panel
  • Installer: pre-flight the keymapper and move the admin privileges question earlier in the run
  • Add toshy-detector-check diagnostic command for auto-detected shortcuts
  • Update Thunderbird, VSCode, and other app keymaps
  • Flip the suspend timeout default in the config

Fixes

  • Fix buggy lock key toggle notification functions
  • Lift the CapsLock mode submenu up to the main menu level, working around a nested sub-submenu bug observed on both COSMIC and GNOME (submenu collapsed instead of expanding to reveal 3rd-level submenu items)
  • Prevent excess doas password prompts by preserving the persist ticket across elevated calls^^
  • Don't show bogus privilege prompts on doas systems
  • Prevent detached processes from emitting output into the terminal that launched them
  • Handle a missing Cinnamon screenshot shortcut instead of failing on it
  • Correct the terminal and GUI screenshot remaps, and use a nested keymap for the Spectacle window screenshot
  • Fix PATH resolution on NixOS for services, bin commands, pgrep, and device checks
  • Let NixOS users actually run the reinstall command
  • Work around a deprecated setuptools error and pin python-xlib==0.31 via overlay on Nix
  • Fix executable bits on several scripts
  • Reduce total file read calls during shortcut detection

Installer/setup tweaks

  • Standardize scripts on the /usr/bin/env bash shebang, with bootstrap.sh as the deliberate POSIX sh exception
  • Migrate launchers and services to the shared runtime environment script
  • Show the resolved interpreter path alongside versions in toshy-versions
  • Vendor sync xwaykeyz 1.24.0, 1.25.0, and 1.25.1
  • Ignore the branch reset script

^ NixOS works in testing, but expect rough edges, and expect the mechanics to change significantly over time. NixOS needs the Toshy files installed into the user's home while the Python environment and binaries come from Nix, so the install grew an install-user-files path and a runtime environment seam that resolves interpreter and PATH at launch time rather than at install time. The flake exposes a NixOS module and a Home Manager module.

^^ Alpine uses doas rather than sudo, and doas keys its persist ticket on the parent process PID. Running elevated commands through a shell gave doas a fresh, disposable /bin/sh parent every time, which defeated the ticket and caused a password prompt on every single call during the install.

^^^ Screenshot shortcuts vary widely between desktop environments, between versions of the same DE, and between users who have customized them. Toshy now reads the actual configured shortcuts at config load time and resolves them through a tiered fallback to hard-coded defaults when nothing can be read. Tested on GNOME, KDE, Cinnamon and COSMIC. The auto-generated remaps can still be overridden with a custom keymap per DE in the editable "user_apps" slice of the config, and toshy-detector-check will show the keymaps that were generated automatically, to be used as a starting copy for those overrides.


Auto-generated full release notes (click to expand):

What's Changed

Full Changelog: Toshy_v26.07.1...Toshy_v26.08.0

Don't miss a new Toshy release

NewReleases is sending notifications on new releases.