Repository navigation
Add experimental Linux port (GNOME 45-50 and X11) - #18
Draft
AbdulRehman56 wants to merge 3 commits into
Draft
AbdulRehman56 wants to merge 3 commits into
AbdulRehman56 wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds an optional, experimental Linux implementation alongside the existing macOS app: a GNOME Shell 45–50 companion for Wayland and a Rust overlay for X11. GNOME 45–49 are experimental, with versioned API inspection and mocked coverage only. TinyHand's concept, original app, artwork and sounds are by Kamran Ahmed (@nilbuild), https://github.com/nilbuild/tinyhand and https://tinyhand.app. I maintain this independent Linux port; the original MIT notice is preserved.
The macOS sources and original assets are unchanged. Linux code lives in
linux/; the root README only gains a Linux section. The port includes Point/Draw modes, Alt pass-through, a toolbar, GTK4/libadwaita visual settings for 36 hands plus a laser, tap sounds, shortcuts, a per-user installer, packaging scripts, and Linux CI. The extension ZIP contains resized alpha artwork and all sounds; the X11 tarball installs without Cargo.Local verification: 9 Rust tests, 23 companion tests (including GNOME 45–50 API shapes and native-preferences input release), Rust rendering self-test, schema validation, JavaScript/shell syntax, ZIP content checks, and isolated tarball install/uninstall. All 36 hands rendered with the latest Cairo-only Shell code; GTK settings layout/save checks also passed again on the maintainer's desktop. GNOME 50.1 is the only desktop-tested Shell version; the latest compatibility changes were not hot-loaded. Installed Mutter 18/Cairo APIs were introspected. CI repeats the rendering and settings tests, including the actual unpacked ZIP. Preferences require GTK 4.8+ and libadwaita 1.4+.
linux/COMPATIBILITY.mdrecords sources and test limits.This is a draft for feedback, with incomplete macOS parity. Custom hands, pin reordering, complete hotkey settings, mixed-scale/multi-monitor behavior, shortcut conflicts, and interaction with other extensions need further work/testing. X11 remains experimental; other Wayland compositors are unsupported. GNOME Extensions submission is awaiting review, not approved. The fork's Linux prerelease workflow publishes only after all checks pass and is restricted to
AbdulRehman56/tinyhand; it cannot publish an upstream release.Linux documentation:
linux/README.md,linux/CONTRIBUTING.md, andlinux/RELEASE_NOTES.md.