No description
  • Go 85.5%
  • Shell 13.5%
  • Makefile 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-01 03:23:20 +02:00
.github update actions using sanad 2026-08-01 03:23:20 +02:00
docs fix: restrict log file permissions to 0600 to prevent sensitive information disclosure 2026-07-11 02:08:48 +02:00
pkg fix: restrict log file permissions to 0600 to prevent sensitive information disclosure 2026-07-11 02:08:48 +02:00
utils fix(install.sh): update to match GoReleaser archive naming 2026-05-09 15:03:03 +02:00
.gitignore chore: update fuzzing corpus and internal build configurations 2026-07-09 13:59:23 +02:00
.goreleaser.yaml chore: configure macOS SDK sysroot and CGO flags in goreleaser and CI workflow 2026-07-09 15:54:47 +02:00
go.mod chore(deps): bump golang.org/x/term from 0.44.0 to 0.45.0 (#18) 2026-07-15 11:52:41 +02:00
go.sum chore(deps): bump golang.org/x/term from 0.44.0 to 0.45.0 (#18) 2026-07-15 11:52:41 +02:00
LICENSE Initial commit 2024-06-05 08:40:45 +00:00
main.go refactor: project overhaul and major 1.0.0 release 2026-05-09 14:46:35 +02:00
Makefile chore: make ghostty build directory configurable via GHOSTTY_HOST_DIR variable 2026-07-10 12:13:30 +02:00
README.md chore: update fuzzing corpus and internal build configurations 2026-07-09 13:59:23 +02:00

txm: Terminal Session Manager

txm is a unified command-line interface for managing terminal multiplexer sessions. It supports a built-in native backend for lightweight session persistence, as well as tmux, zellij, and GNU Screen through a single consistent set of commands.


Installation

Downloads and installs the latest release automatically.

User-local (installs to ~/.local/bin):

curl -s https://raw.githubusercontent.com/MohamedElashri/txm/main/utils/install.sh | bash

System-wide (installs to /usr/local/bin, requires root):

curl -s https://raw.githubusercontent.com/MohamedElashri/txm/main/utils/install.sh | sudo bash -s -- --system

Pre-built Binaries

Download the appropriate archive for your platform from the releases page and extract. For maximum portability on Alpine Linux or minimal Docker containers, use the -musl binaries which are 100% statically linked.

unzip txm_Linux_x86_64.zip
# or unzip txm_Linux_x86_64-musl.zip for fully static binary
./txm install          # user-local (~/.local/bin)
# or
./txm install --system # system-wide (/usr/local/bin) — requires sudo

Build from Source

Requirements: Go 1.25.11+

git clone https://github.com/MohamedElashri/txm
cd txm
make build
./bin/txm install

Quick Start

# Launch interactive session picker (fuzzy finder with previews)
txm

# Create and attach to a session
txm create my-project
txm attach my-project

# Or create a session running a specific command
txm create my-server npm run dev

# List sessions
txm list

# Create a window inside the session
txm new-window my-project editor

# Split the window vertically
txm split-window my-project editor v

# Delete the session when done
txm delete my-project

For a comprehensive guide covering configuration, window/pane management, backends, environment variables, and SSH workflows, see the User Guide.


Documentation


Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

GNU General Public License v3.0 — see LICENSE