Бросил tmux и написал свой инструмент
Бросил tmux и написал свой инструмент
vs. tmux: У atch нет сплита окон, статусбара, плагинов, никакого оконного менеджмента. Если твой воркфлоу построен вокруг лейаутов tmux — atch не замена. Но если тебе нужны персистентные сессии, которые не ломают терминал и не требуют конфига — atch намного проще и просто работает.
vs. screen: Screen — монолит с десятилетиями накопленной сложности и минимальной активной разработкой. atch — несколько тысяч строк читаемого C. Мышь в atch работает. В screen — фундаментально нет.
vs. abduco: Abduco хорош и разделяет ту же философию прозрачности. atch добавляет персистентную историю на диске (abduco хранит историю только в памяти — умер процесс, история пропала), команду push для инжекта stdin извне сессии, встроенный листинг сессий и чуть более дружелюбный интерфейс команд.
vs. dtach: atch — прямой духовный наследник dtach, с историей на диске, листингом сессий, push stdin и рядом QoL улучшений. Обратно совместим с флаговым синтаксисом dtach, старые скрипты не ломаются.
atch не пытается заменить tmux тем, кто активно использует его оконный менеджмент. Если твой воркфлоу — это постоянные сплиты, прыжки между пейнами и плагины, в atch ничего этого нет.
Но если ты хоть раз гуглил «tmux mouse scrolling not working» в одиннадцать вечера, если у тебя в tmux.conf есть строчки, которые ты копируешь с машины на машину не до конца понимая зачем, если хоть раз терял историю сессии в самый неподходящий момент — возможно, это то, что ты искал.
Код достаточно маленький, чтобы прочитать его за вечер (без шуток, это реально полезно). Собирается через make, зависимостей нет кроме компилятора C и POSIX-окружения. После установки конфигурировать нечего.
Тул делает одно: держит твою программу запущенной и связанной с терминалом, даже когда ты не подключён. Каждый байт — в лог. Каждая сессия — доступна по имени. Мышь, скролл, цвета — дело твоего терминала, не atch. Всё остальное не мешает.