Skip to content

Termux add-on app to show the terminal in a floating terminal window.

License

GPL-3.0, Apache-2.0 licenses found

Licenses found

GPL-3.0
LICENSE
Apache-2.0
LICENSE-TERMINAL-EMULATOR
Notifications You must be signed in to change notification settings

KitsunedFox/termux-float

 
 

Repository files navigation

Termux:Float

Build status Join the chat at https://gitter.im/termux/termux

A Termux plugin app to show the terminal in a floating terminal window.

Contents

Installation

Latest version is v0.15.0.

Check termux-app Installation for details before reading forward.

F-Droid

Termux:Float application can be obtained from F-Droid from here.

You do not need to download the F-Droid app (via the Download F-Droid link) to install Termux:Float. You can download the Termux:Float APK directly from the site by clicking the Download APK link at the bottom of each version section.

It usually takes a few days (or even a week or more) for updates to be available on F-Droid once an update has been released on GitHub. The F-Droid releases are built and published by F-Droid once they detect a new GitHub release. The Termux maintainers do not have any control over the building and publishing of the Termux apps on F-Droid. Moreover, the Termux maintainers also do not have access to the APK signing keys of F-Droid releases, so we cannot release an APK ourselves on GitHub that would be compatible with F-Droid releases.

The F-Droid app often may not notify you of updates and you will manually have to do a pull down swipe action in the Updates tab of the app for it to check updates. Make sure battery optimizations are disabled for the app, check https://dontkillmyapp.com/ for details on how to do that.

GitHub

Termux:Float application can be obtained on GitHub either from GitHub Releases for version >= 0.15.0 or from GitHub Build action workflows.

The APKs for GitHub Releases will be listed under Assets drop-down of a release. These are automatically attached when a new version is released.

The APKs for GitHub Build action workflows will be listed under Artifacts section of a workflow run. These are created for each commit/push done to the repository and can be used by users who don't want to wait for releases and want to try out the latest features immediately or want to test their pull requests. Note that for action workflows, you need to be logged into a GitHub account for the Artifacts links to be enabled/clickable. If you are using the GitHub app, then make sure to open workflow link in a browser like Chrome or Firefox that has your GitHub account logged in since the in-app browser may not be logged in.

The APKs for both of these are debuggable and are compatible with each other but they are not compatible with other sources.

Google Play Store (Deprecated)

Termux and its plugins are no longer updated on Google Play Store due to android 10 issues and have been deprecated. It is highly recommended to not install Termux apps from Play Store any more. Check https://github.com/termux/termux-app#google-play-store-deprecated for details.

Creating and Configuring Termux Float Properties

In Termux:Float, a specialized file named termux.float.properties is used to define various settings. This file should be placed in the ~/.termux/ directory, where ~ is a shortcut for the Termux home directory /data/data/com.termux/files/home/, also referable by the $HOME shell environment variable. This setup is akin to how Termux utilizes the termux.properties file for configuring settings.

You can create and/or edit the termux.float.properties file by utilizing the following commands to open the nano text editor within the terminal:

mkdir -p ~/.termux
nano ~/.termux/termux.float.properties

In the nano editor, press Ctrl + o followed by Enter to save changes, and Ctrl + x to exit. Alternatively, after creating the file, it can be edited using a SAF file browser.

Below is a breakdown of the supported properties in the termux.float.properties file, alongside examples for each:

  • enforce-char-based-input: Set to true to enforce character-based input.

    enforce-char-based-input=true
  • ctrl-space-workaround: Enables a workaround for Ctrl + Space input.

    ctrl-space-workaround=true
  • bell-character: Define a character for the terminal bell.

    bell-character=a
  • terminal-cursor-style: Choose a cursor style (block, underline, or bar).

    terminal-cursor-style=block
  • terminal-transcript-rows: Set the number of transcript rows.

    terminal-transcript-rows=1000
  • back-key: Define the behavior of the back key (escape or ctrl).

    back-key=escape
  • default-working-directory: Specify a default working directory.

    default-working-directory=/sdcard
  • volume-keys: Set the behavior of volume keys (volume, control, meta).

    volume-keys=control

These properties allow a tailored Termux:Float environment, enhancing the user experience by catering to individual preferences and workflow requirements. For further details on terminal settings, refer to the Termux Terminal Settings guide.

Debugging

You can help debug problems by setting appropriate logcat Log Level in Termux app settings -> Termux:Float -> Debugging -> Log Level (Requires Termux app version >= 0.118.0). The Log Level defaults to Normal and log level Verbose currently logs additional information. Its best to revert log level to Normal after you have finished debugging since private data may otherwise be passed to logcat during normal operation and moreover, additional logging increases execution time.

Once log levels have been set, you can run the logcat command in Termux or Termux:Float app terminal to view the logs in realtime (Ctrl+c to stop) or use logcat -d > logcat.txt to take a dump of the log. You can also view the logs from a PC over ADB. For more information, check official android logcat guide here.

Log Levels
  • Off - Log nothing
  • Normal - Start logging error, warn and info messages and stacktraces
  • Debug - Start logging debug messages
  • Verbose - Start logging verbose messages

For Maintainers and Contributors

Check For Maintainers and Contributors section of termux/termux-app README for details.

Forking

Check Forking section of termux/termux-app README for details.