Giter Site home page Giter Site logo

etch9 / termux-x11 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from termux/termux-x11

0.0 0.0 0.0 11.14 MB

Termux X11 add-on application. Still in early development.

License: GNU General Public License v3.0

Shell 1.37% C++ 31.95% C 19.46% Java 41.29% CMake 5.84% AIDL 0.10%

termux-x11's Introduction

Termux:X11

Nightly build Join the chat at https://gitter.im/termux/termux Join the Termux discord server

A Termux add-on app providing Android frontend for Xwayland.

About

Termux:X11 uses Wayland display protocol. a modern replacement and the predecessor of the X.org server. Pay attention that it is not a full-fledged Wayland server and it can not handle Wayland apps except Xwayland.

Caveat

This repo uses submodules. Use

~ $ git clone --recurse-submodules https://github.com/termux/termux-x11 

or

~ $ git clone https://github.com/termux/termux-x11
~ $ cd termux-x11
~ $ git submodule update --init --recursive

How does it work?

The Termux:X11 app's companion package executable creates socket through $XDG_RUNTIME_DIR in Termux directory by default.

The wayland sockets is the way for the graphical applications to communicate with. Termux X11 applications do not have wayland support yet, this kind of setup may not be straightforward and therefore additional packages should be installed in order for X11 applications to be run in Termux:X11

Setup Instructions

For this one you must enable the x11-repo repository can be done by executing pkg install x11-repo command

For X applications to work, you must install Termux-x11 companion package. You can do that by downloading an artifact from last successful build and installing *.apk and *.deb (if you use termux with pkg) or *.tar.xz (if you use termux with pacman) files.

Running Graphical Applications

to work with GUI applications, start Termux:X11 first. a toast message saying Service was Created indicates that it should be ready to use

then you can start your desired graphical application by doing:

~ $ XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :1 &
~ $ env DISPLAY=:1 dbus-launch --exit-with-session xfce4-session

You may replace xfce4-session if you use other than Xfce

If you're done using Termux:X11 just simply exit it through it's notification drawer by expanding the Termux:X11 notification then "Exit"

Logs

If you need to obtain logs from the com.termux.x11 application, set the TERMUX_X11_DEBUG environment variable to 1, like this: DISPLAY=:0 TERMUX_X11_DEBUG=1 termux-x11

The log obtained in this way can be quite long. It's better to redirect the output of the command to a file right away.

Notification

In Android 13 post notifications was restricted so you should explicitly let Termux:X11 show you notifications.

Video
img_enable-notifications.3.webm

Preferences: You can access preferences menu three ways:

By clicking "PREFERENCES" button on main screen when no client connected.

image

By clicking "Preferences" button in notification, if available.

image

By clicking "Preferences" application shortcut (long tap `Termux:X11` icon in launcher).

image

Touch gestures

Touchpad emulation mode.

In touchpad emulation mode you can use the following gestures:

  • Tap for click
  • Double tap for double click
  • Two-finger tap for right click
  • Three-finger tap for middle click
  • Two-finger vertical swipe for vertical scroll
  • Two-finger horizontal swipe for horizontal scroll
  • Three-finger swipe down to show-hide additional keys bar.

Mouse emulation mode.

In touchpad emulation mode you can use the following gestures:

  • Mouse is in click mode as long as you hold finger on a screen.
  • Double tap for double click
  • Two-finger tap for right click
  • Three-finger tap for middle click
  • Two-finger vertical swipe for vertical scroll
  • Two-finger horizontal swipe for horizontal scroll
  • Three-finger swipe down to show-hide additional keys bar.

Font or scaling is too big!

Some apps may have issues with wayland regarding DPI. please see https://wiki.archlinux.org/title/HiDPI on how to override application-specific DPI or scaling.

You can fix this in your window manager settings (in the case of xfce4 and lxqt via Applications Menu > Settings > Appearance). Look for the DPI value, if it is disabled enable it and adjust its value until the fonts are the appropriate size.

Screenshot

image

Using with 3rd party apps

It is possible to use Termux:X11 with 3rd party apps. Check how shell-loader/src/main/java/com/termux/x11/Loader.java works.

License

Released under the GPLv3 license.

termux-x11's People

Contributors

twaik avatar suhan-paradkar avatar dependabot[bot] avatar gradle-update-robot avatar ask9027 avatar agnostic-apollo avatar github-actions[bot] avatar polkaulfield avatar etch9 avatar dkramer95 avatar fornwall avatar jeansch avatar landfillbaby avatar yisus7u7 avatar saicharankandukuri avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.