The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

tmuxlayout - Configure and reconfigure tmux layouts easily

VERSION

version 1.223320

SYNOPSIS

  tmuxlayout abc def def    # Creates a layout of 3 columns and two rows,
                            # with the bottom row being twice as high as
                            # the top row

DESCRIPTION

This utility takes a "layout" in a text format, and signals the current tmux window to use this new layout.

The layout format consists of a text field of numbers or other characters, separated by new lines. Each character reflects a single pane on the screen, defining its size in rows and columns.

Some sample layouts:

  11123
  11124

Which can also be written as:

  11123 11124

This would create a layout with 4 panes. The panes would be arranged such that pane 1 takes up the entire vertical canvas, but only 3/5ths of the horizontal canvas. Pane 2 also takes up the entire vertical canvas, but only 1/5 of the horizontal canvas. Pane 3 and 4 are stacked, taking 1/5 of the horizontal canvas, evenly splitting the vertical canvas.

It would look like:

  +------+--+--+
  |      |  |  |
  |      |  |  |
  |      |  +--+
  |      |  |  |
  |      |  |  |
  +------+--+--+

Note that some layouts cannot be displayed by tmux. For example, the following would be invalid:

  1122
  1134
  5554

Tmux divides the entire screen up either horizontally or vertically. However, there is no single horizontal or vertical split that would allow this screen to be divided.

The layout can be passed a single argument, where the rows are seperated by pipe characters | or new lines embedded in the argument.

If this utility is passed an multiple arguments, each argument starts its own row. Each element can also contain pipe or newlines, and these are also interpreted as row deliminators.

Finally, if no arguments are passed, this utility will instead read from STDIN, with each line being treated as a row (in addition, each line input can be split instead with embedded pipe characters).

Thus, the following are all valid ways of calling tmuxlayout:

  tmuxlayout 'abc|def|ghi'

  tmuxlayout "abc
  def
  ghi"

  tmuxlayout abc def ghi;

  tmuxlayout 'abc|def', 'ghi';

  echo 'abc|def' | tmuxlayout

REPOSITORY

https://github.com/jmaslak/Term-Tmux-Layout

SEE ALSO

See Term::Tmux::Layout for more details about the underlying module used by this application.

BUGS

Check the issue tracker at: https://github.com/jmaslak/Term-Tmux-Layout/issues

AUTHOR

Joelle Maslak <jmaslak@antelope.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015-2022 by Joelle Maslak.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.