Skip to content

PickleHik3/termux-launcher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,954 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Termux Launcher

As a long-time user of Termux Expert Launcher TEL, I wanted a version of it with sixel image drawing support inside the terminal. I am not a programmer, but I really like TUIs and keyboard-based workflows, so I set out to vibe-code a TEL-style launcher suited to my needs.

The initial idea was just to add sixel support, but it was not a straightforward task since TEL has not been updated in a while. That led me to termux-monet, which already had sixel and iTerm-style terminal drawing, wallpaper support, and Material theming.

What followed was months of vibe coding with Codex CLI inside Termux itself. The first two weeks were frustrating, to say the least, while I figured out how to work with AI. GPT-5.3 had an annoying tendency to reduce or redefine the scope of the project without my confirmation. I think I forked termux-monet three times before I reached a stable base that was moving in the right direction.

The release of Codex 5.3 happened around the time I finally had the base in a working state. It is still my favorite model because it tends to just do what you ask it to.

Features were added one by one. The codebase likely has plenty of debt from all the vibe coding, but this project is still a prototype of the launcher I wanted to exist. I hope the idea is interesting enough that a real developer eventually takes it and builds it properly. Especially now, with the tools available, there is a lot of room for genuinely neat TUI experiences on Android.

That is enough background. Here is what the launcher actually is:

Termux Launcher is a terminal-first Android launcher heavily inspired by TEL. It was first forked from termux-monet because that project already had sixel support along with wallpaper and Material theming. After that, it was rebased onto termux-app and the sixel-related commits were pulled in from upstream.

It keeps the full Termux session front and center, and adds an apps row plus an alphabet row with the following features:

  • long press for context menu
  • swipe across Alphabets Row to filter apps
  • from the alphabets row, you can swipe vertically upwards to choose an app which will be launched the moment you take your fingers off the screen. the vertical swipe needs to be deliberate, may need to get used to it - i may refine it in future.
  • There is a pinned apps row, you can pin apps by;
    • long pressing on app icons and chosing pin.
    • long pressing on empty space in the apps row and it will give you a list of installed apps.
  • you can rearrage pinned apps by;
    • long press on an app icon and move it laterally within the apps row to pick it up;
      • drop it in empty area to move
      • drop it on top of another icon to create a folder
    • note that its still a bit finnicky to move/ create folder - i recommedn for the time being you long press on empty space in apps row to rearrage/ manage pinned app icons and folders.
  • you can double-tap the alphabets row to lock the phone (uses shizuku to send the lock screen key via adb so its not using android acceibility service)
  • You can also use the app like normal Termux if you do not set it as your home launcher, since it still appears in the recent apps menu. That said, this mode is not well tested yet and it can cause some terminal oddities. I plan to clean that up in a future update.

Download builds from Releases

Highlights

  • Termux as the actual home screen, not a widget inside another launcher
  • Pinned app row plus alphabet scrub filtering for the full installed app list
  • Live install and uninstall refresh in the app bar without restarting the launcher
  • Keyboard-first search flow with configurable split character handling
  • Wallpaper-aware theming, blur controls, monochrome icons, and launcher visual tuning
  • Optional Shizuku hooks for screen locking and privileged status integrations

Companion Apps

Use the matching forks below to avoid shared UID or signing mismatches:

Optional Shizuku Integration

Shizuku is not required for normal launcher usage.

If enabled, the current privileged integrations are limited to:

  • double-tap A-Z row to lock the screen
  • system stats support for tmux status bar integrations

If you use the tmux status helpers, see tooie.

Setup Notes

  • Shizuku is optional.
  • Unexpected Keyboard is strongly recommended for tmux-heavy use.
  • By default, typing % in the terminal starts app search in the launcher bar. This can be changed in Settings -> Apps Bar -> Input split character.

Shell Launching

You can launch apps directly from the shell with launcherctl launch:

launcherctl launch whatsapp

you can also add it to tmux to launch apps using keybinds like Alt+w launches whatsapp, Example tmux binding:

bind -n M-w run-shell 'tmux display-message "Opening WhatsApp"\; launcherctl launch whatsapp >/dev/null 2>&1 || tmux display-message "Launch failed: WhatsApp"'

Troubleshooting

If you encounter any issues, most of the times it will be fixed by running "termux-reload-settings" there is also "launcherctl restart" which emulates a full app force close and restart.

Demo

Launcher demo

Screenshots

Screenshot 1 Screenshot 2
Screenshot 3 Screenshot 4
Screenshot 5 Screenshot 6
Screenshot 7 Screenshot 8

Known Limitations

  • Android 12+ phantom process restrictions can still affect long-running Termux workloads under heavy background pressure. See termux-app issue #2366.
  • If the shell exits while the launcher is active as the system home app, Android can leave the process in a degraded state until it is restarted.

Upstream Base

Packages

 
 
 

Contributors

No contributors

Languages

  • Java 97.6%
  • Shell 1.2%
  • Other 1.2%