Hacker News new | past | comments | ask | show | jobs | submit | oxidane's comments login

It's intended for non-trivial layouts.

To contrast, take a look at the configuration files for some simple layouts in another popular session manager: http://tmuxp.readthedocs.org/en/latest/examples.html

The same layouts in tmuxomatic are going to be very easy and obvious. Though the unorthodox nature of tmuxomatic may require some getting used to.


You probably meant tmuxomatic, not tmuxinator.

What you describe are the "synchronization features" that are planned for a future version. I'd like this to be a real-time synchronization between the tmux session and the tmuxomatic session file, a change to one will update the other.

Development for 2.x is centered around Flex. Look for synchronization (in whatever form) in 3.x or 4.x.


Oops, yeah, I did. And glad to hear it!


Hi, author of tmuxomatic here.

My personal use of tmux includes windows with 10+ panes. It's not easy to define these layouts using other means, and often making simple modifications is a big hassle.

I didn't want to be an expert in tmux to maximize my use of it. I wanted something so simple and intuitive that documentation is virtually unnecessary.

For those who only ever use simple 1 or 2 split layouts, a traditional manager may suffice. But even in these cases, tmuxomatic is much easier to deal with. Definitions in tmuxomatic are readable at-a-glance, and the flexibility afforded by windowgrams make layouts clear and unambiguous.

As for the tedium of ASCII, there's the Flex command set that's being added to tmuxomatic 2.x. Using a handful of basic commands, virtually any layout is possible without doing any ASCII art at all.

I'd say this qualifies as better.

Of course it's different, it has to be.


What you suggest will fast become confusing and difficult to follow. It's better to keep layouts in an immediately recognizable form. Also, I've built in a flexible window scaling feature to assist with fine tuning layouts. For example if you create "123", and want to change the "3" into a 2x2 grid, instead of copying lines or retyping the layout, you could just "--scale 1 2x 2x --scale-replace" (assuming window 1), then edit the session file and fill in the details. It also has the ability to down scale. Play around with it and you'll see how helpful it is. Once you get the hang of designing layouts, you may find most general use layouts can be typed up pretty fast.

As mentioned in another comment, there will be support for YAML in version 1.1. I don't know how soon that will be, since I am working on another project right now, but keep an eye on tmuxomatic, it should be soon. Thanks for the feedback!


I don't think YAML is good way to configure a tmux session. But it's popular, and simple to implement, so I may add it. I'll consider it in the next version.


Any reason why you think this? YAML seems like a more intuitive choice for describing the session/window/pane hierarchy IMO. Your "visual" notation does seem useful, but I'm not so sure if the benefits merit taking on a new configuration format in my tools layer.

I'll give it a fair shot though :).


I'm all for standard file formats where they serve a purpose, but they don't really fit here. The point of tmuxomatic was to completely break away from the structure imposed by tmuxinator, tmuxp, and fundamentally tmux, and deliver something so simple and automated that tmux becomes almost transparent. Where any user, expert or novice, is able to create complex arrangements of practically any conceivable layout so intuitively that documentation is unnecessary.

However, if you prefer to do your editing in an IDE or graphical editor, a known file format is easier to deal with, and syntax highlighting is nice.

I'll add YAML support in version 1.1.


I don't see how mucks is simpler at all, except maybe for single pane layouts.

Not sure what you mean by "write-only" in this context.


I'm not sure it's possible to be more ergonomic while retaining the flexibility that tmuxomatic text-as-layout has to offer. Not with a keyboard anyway.

The next step in tmux usability may be to intercept mouse-as-cursor messages (assuming these exist) and allow a user with a touchscreen to literally draw out the windows. Or some kind of English interface where you verbally describe the window layout. Either one could leverage tmuxomatic for the pane layouts. Both of these are on the tmuxomatic todo list, but there are other projects I'd rather work on.


Yeah you're right it might be the less cumbersome input format.


Session managers like tmuxinator and tmuxp are unnecessarily complex and counter-intuitive. Some people may enjoy configuring tmux sessions with a verbose and structured JSON or YAML files, but I want the session configured as quickly and easily as possible so I can get back to work.

Also, tmuxomatic offers a great deal of flexibility for pane layouts that is unmatched by any other session manager.


I'm using it for a decentralized project based on bitcoin.

A single-file application with no installation is easy for a user to handle. However, developers and researchers may find it easier to work with a set of files. By giving the application an interchangeable dual form, both are satisfied. It's like it's its own file archiver.

Also it was fun to write.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: