/projects/termux-x11-floating·systems· 2025
experimental
Termux:X11 — Floating Keyboard Button
Feature branch on Termux:X11. Adds a floating button that surfaces the soft keyboard on demand, useful when running Linux GUI apps on Android.
Overview
A contribution-style feature branch on top of the Termux:X11 codebase. Termux:X11 is the X11 server that lets you run full Linux GUI apps from Termux on Android. This branch adds a floating action button that, when tapped, brings up the soft keyboard — useful when the X11 client has no native way to summon it, common with terminal-based apps or minimal WMs. Written in C, building with the Android NDK alongside the existing Termux:X11 toolchain.
Highlights
- Dives into low-level Android + X11 internals
- Builds on the official Termux:X11 codebase, not a fork
- Solves a real UX problem when running Linux GUI apps on phones
Technical architecture
- Hook: a small X11 event listener detects focus changes to input fields.
- Trigger: on focus, post a request to the Android UI layer to surface a floating button.
- Button: a system-level overlay (similar pattern to a chat-head) that, on tap, programmatically invokes the soft input.
- Build: integrated with the existing Termux:X11 NDK build — no new toolchain.
Stack
CAndroid NDKX11Termux
Statusexperimental
Year2025