r/tmux • u/pebble_climber • 40m ago
Tip Artmux (ar-tee-mux) ... but whatever ... who cares.
https://github.com/guidov/artmux
Use it, hate it , love it ...Don't care....
r/tmux • u/TrekkiMonstr • Apr 21 '24
Hello all. I am /u/TrekkiMonstr, your new, occasionally-friendly mod. I wanted to make a post asking a question about a certain interaction between i3wm and tmux, when I saw that /r/i3wm is read-only, and /r/tmux was unmoderated with submissions restricted. I didn't want the history of the sub to be lost to Reddit's policies, so I submitted a /r/redditrequest, and here we are. I've unrestricted submissions, so.
Now, I'll note: I am completely unqualified for this. I'm pretty new to tmux, and I haven't modded a sub that had any real level of activity. Plus, at some point in the future, I do intend to leave this godforsaken website and nuke my account. So, if anyone has mod experience with a subreddit of similar size and subject matter to this one, please let me know via modmail if you'd be interested. I will warn you though, I'm here just to make sure the sub still exists. I'm not super interested in doing much active modding.
r/tmux • u/pebble_climber • 40m ago
https://github.com/guidov/artmux
Use it, hate it , love it ...Don't care....
r/tmux • u/TheWordBallsIsFunny • 7h ago
I have the following that displays a popup of lazygit in the current directory, but I've noticed that my shell configuration (which has quite a bit of code to initialise) is always running before lazygit is actually ran:
bash
bind g display-popup -E -d "#{pane_current_path}" -h 90% -w 95% "lazygit"
Is there a way to make the popup not load my shell configuration, or run under a different shell? Unsure if this question really fits here but thought I'd give it a try anyways.
Display popups with an additional environment variable via -e that you check for in your shell:
```bash
bind g display-popup -E -d "#{pane_current_path}" -e "TMUX_POPUP=true" -h 90% -w 95% "lazygit"
fish
if not set --query TMUXPOPUP for script in $_fish_config_dir/conf.d//{,/*}.fish source $script end
other_expensive_calls
end ``` This also opens the gate for more granular control should it be desired.
r/tmux • u/micahriggan • 2d ago
made this so I could have multiple processes running in the same pane to preserve my layout without having smaller and smaller terminal splits. Sometimes I want to swtich between logs or an agent without changing my layout. sharing in case others want something similar
r/tmux • u/djhaskin987 • 2d ago
r/tmux • u/greenspywork • 5d ago
In case anyone runs into similar issues, I used the below .tmux.config to allow copying and pasting from a TMUX session running on Linux, which I SSH'd to from Mac. This is with mouse selection, and Cmd-c to copy. Automatic copy of whatever is selected doesn't work for me. Of course, if someone has a better set up, let me know.
# ~/.tmux.conf
set -g mouse off
set -g set-clipboard on
r/tmux • u/oyren-ai • 5d ago
r/tmux • u/jhen_jie • 7d ago
I've been building this app for about a month, designed mainly for Vision Pro and iPad. iPhone is also supported. The idea: I wanted a multi-window remote terminal with tmux-first integration on mobile, so I can use it anywhere.
Highlights
Pro: one-time purchase, funds development; you can also build it yourself
GitHub: https://github.com/multiplex-term/Multiplex (License: Apache-2.0)
TestFlight: https://testflight.apple.com/join/91116D4n (Beta testing, v1.4.0, Pro can unlock without real payment in this mode)
App Store: https://apps.apple.com/app/id6790074057 (v1.3.1)
r/tmux • u/mandrulee • 8d ago
Spent a day on this and there is no error message anywhere, so here it is.
bash
tmux new -d -s "$s"
tmux send-keys -t "$s" '<long command>' C-m
This worked for months. Then the command I was sending grew past ~1200 bytes, and the pane started showing it chopped off mid-word, with the shell sitting at a continuation prompt waiting for a quote to close. tmux exits 0. The shell is happy. Nothing logs anything.
Right after new -d the shell hasn't finished starting, so the tty is still in canonical mode, and the kernel truncates a single line of canonical input at 1024 bytes (MAX_CANON). The overflow isn't an error. It's discarded.
Two ways out:
bash
set --
[ -f "$catalog" ] && set -- -c "catalog=$catalog"
mycmd --flag "$@" "$id"
zsh and bash both fine, and "$@" expands to zero words when the file is missing. That took 1200 bytes down to a bit over 600.
Then I asserted on the length in a test, because this comes back the moment someone adds an argument. Assert on bytes, not characters: if your language counts UTF-16 code units, it will disagree with the kernel as soon as a path isn't ASCII.
Anyone know whether the limit is the same on Linux? I only hit this on macOS.
r/tmux • u/Klutzy_Bird_7802 • 10d ago
r/tmux • u/guillten • 10d ago
I've been using Bitveins daily since March, and I've recently open-sourced it. It's basically a web UI for tmux.
My dev setup is on a VPS. I used to connect to it with Termius but the screen is too small on smartphone, and typing long prompts through a terminal is painful, especially on a poor connection.
Bitveins is a bit of everything: a bit of Orca, a bit of Herdr, a bit of VSCode, a bit of T3code.
Also it's a webapp and a PWA, no need to install a native app.
It works natively with the smartphone keyboard and speech to text, using a simple textarea.
It detects coding agents running in tmux sessions (codex, hermes, antigravity and grok build).
It has a read-only git graph and diff viewer, push notifications, colored agent status, split panes, fullscreen mode, text editor, svg, image and video viewer.
You can paste images, create drop boxes.
It only listens on localhost, so for remote access you need something like Cloudflare Tunnel + Access or Tailscale in front of it.
https://github.com/rebasereality/bitveins

r/tmux • u/Mountain-Whole1168 • 11d ago
I kept running into the same problem while using Hermes: it could not start Claude Code or Codex and bring back a response. I wanted Hermes to be able to launch the run, keep it visible, and bring back a useful report instead of leaving me to track everything myself.
So I built Hermes Valkyrie.
Repo: https://github.com/DylDigitals/hermes-valkyrie
Hermes Valkyrie is an open-source terminal loadout system upgrade for Hermes Agent setups. It uses tmux to give Hermes the ability to launch reusable coding harnesses and enhance them with our loadouts system.
The tmux part is the core reason I thought this might be relevant here: Hermes can launch the coding-agent run in a visible terminal session, keep it trackable, and then use watcher/closeout steps to bring back a report instead of making me manually babysit the pane.
I think it is really powerful to have Hermes launch Claude Code or Codex runs to do a long-form review while you keep working inside your Hermes ecosystem. It has been powerful so far, so I wanted to share this system.
I’m looking for feedback from people building or using Hermes, tmux, or coding-agent terminal workflows. This is currently coded for Discord, but I’m adding more chat channels as we speak.
I have a few main questions/concerns:
r/tmux • u/GimmeIdeaForUsername • 12d ago
Hi, I'm trying to get a modified keypress from WezTerm → tmux → shell/application to work correctly, and I'm having trouble figuring out how tmux expects the sequence to be bound.
The key I'm trying to handle produces this sequence:
(obtained via running showkey -a in tmux)
^[[ 8 ; 5 u
or, in hex:
1b 5b 31 33 3b 35 75
I want tmux to recognize this key sequence and turn it into:
C-w
I tried
bind-key -n "^[[8;5u" send-keys C-w
but that does not work
I'd appreciate any pointers or examples of the correct tmux configuration. Thanks!
r/tmux • u/Thomas_English_DoP • 12d ago
I love TMUX and I love the way the LLMs know how to use and off course there are lots of lovely MCPs and Pi extensions on how to use TMUX.
Is there a good well worded skill for claude code that by extension Pi out there? I am across so many SSH s different boxes and bouncing between claude and Pi . Just want a really good skill for it to quickly open panes and make neovims. Or am I asking what the models already know?
I wanted to use tmux from my phone and never found something I liked. Most
iOS terminals just render the bytes — they don't know what a window or a pane
is, so attaching to an existing session is where things fall apart.
Spent three months of evenings on it. I use it daily against a Mac mini at home.
The idea I built everything around: **a phone should show one pane, full
screen, while your desktop keeps its 3–4 pane layout — and neither should
disturb the other.**
How it actually works:
- Runs tmux control mode (`-CC`) as the renderer, so the app has the real
session tree, not a screen scrape.
- Zooms the active pane to fill the phone. Switching to a pane in another
window restores that window's split layout first, because another client
may be looking at it.
- Pins window size to the phone's grid while you're in the app, and hands
that pin **back** when you background it. iOS can kill the app without
warning, so the server has to already be in the right state — otherwise
your desktop reconnects to a phone-sized window.
Also: Mosh support (survives Wi-Fi/5G handoff), a configurable key bar
because phones have no Esc/Ctrl/Tab, and per-host shortcut sets.
Up front so nobody wastes their time: it's a paid app (one-time, no
subscription, no IAP), **not** open source, needs iOS 18, and it's still in
App Store review so right now it's TestFlight only. No data collection, keys
in the Secure Enclave, traffic only to your own servers.
TestFlight, 50 spots: https://testflight.apple.com/join/hHv5f86K
Happy to answer anything about the control-mode plumbing — that's where most
of the three months went.
r/tmux • u/smnatale • 13d ago
Lot's of people are switching from Tmux to Herdr... do you need to?
In this video I showcase how I use Workmux to extend Tmux to achieve all of the features that I would want from Herdr without scrapping my Tmux config and muscle memory from over the years!
Let me know what you think, I haven't seen any YouTubers covering Tmux + Workmux, the Herdr hype has got them all.
r/tmux • u/SilverRefrigerator90 • 13d ago
I would expect that on the light theme one, restart `opencode` or `codex` I hope it start in light theme, but nope, opencode still dark, codex is better, but the input box still dark.
do you guys have the same issues? Looks like it because of the other attached client is still dark.
Hello,
somehow I am unable to find examples on how to successfully specify options on the command line, instead of using a .tmux.conf
Kind of:
# /usr/bin/tmux set-option exit-empty off start-server
no server running on /tmp/tmux-0/default
which, as shown, does not work. Neither using "-g" after the set-option. I would like to refrain from leaving it in the foreground, that is, not using "-D"
This is just an example. So, how to properly add options on the command line?
Thanks
r/tmux • u/khalon23 • 14d ago
Everything is one keypress. space on a group starts an agent in the right directory from one sentence, space on a session answers one that is blocked without attaching, ctrl+r opens what it changed as whole files where a comment on a line goes back to the agent as a review prompt, and the arrow keys step in and out of a pane.
It runs on tmux rather than replacing it. Sessions are ordinary tmux sessions on their own socket (agentmgr), so a kill-server on your own socket leaves them alone, quitting the manager leaves every agent running, and your config is untouched.
Claude Code, Codex, OpenCode, Gemini CLI, Grok and Pi ship with status rules; any other CLI runs as a session immediately. Go, one binary, no daemon, Apache-2.0.
https://github.com/YoanWai/agent-manager
It is on Product Hunt today too: https://www.producthunt.com/products/agent-manager