aut

autotiling

Script for sway and i3 to automatically switch the horizontal / vertical window split orientation

Showing:

Popularity

Downloads/wk

0

GitHub Stars

311

Maintenance

Last Commit

6mos ago

Contributors

10

Package

Dependencies

2

License

GPL-3.0-or-later

Categories

Readme

autotiling

This script uses the i3ipc-python library to switch the layout splith/splitv depending on the currently focused window dimensions. It works on both sway and i3 window managers.

Inspired by https://github.com/olemartinorg/i3-alternating-layout.

See on YouTube:

Auto-tiling in
action

PLEASE DO READ THIS

This script does one thing: when a window is being focused, it checks it's height / width ratio, and executes the equivalent of either swaymsg splitv or swaymsg splith. Nothing less, nothing more. Yes, it may make stacking and tabbed layouts behave oddly. No, nothing can be done about it. If you like stacking/tabbed layouts, you may use them on workspaces with autotiling turned off (--workspaces argument). Do not submit issues about it.

For instance, on my triple-headed setup (2 workspaces per output), I configured autotiling to work on odd workspaces, but not on even:

### Autostart
  exec autotiling -w 1 3 5

Installation

  1. Install autotiling. Possible methods:

    • PyPi.

      PyPi
Version

      autotiling is available from PyPi, so you can install it with

      pip install autotiling
      
    • Arch Linux

      Packaging
status

      For the latest development version use autotiling-git.

    • Manually

      1. Install the python-i3ipc>=2.0.1 package (or whatever it's called in your Linux distribution).
      2. Save the main.py file anywhere, make executable and autostart in your i3/sway config file: exec /path/to/the/script/main.py on sway or exec_always --no-startup-id /path/to/the/script/main.py on i3. You can give the main.py file another name.

NOTE: The current release and master branch is compatible with sway >= 1.5. For lower versions you need to use the script from the sway14 branch or the 0.9 release.

  1. Add exec autotiling to the ~/.config/sway/config or exec_always --no-startup-id autotiling to the ~/.config/i3/config file.

Usage

$ autotiling -h
usage: autotiling [-h] [-d] [-v] [-w [WORKSPACES ...]]

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           Print debug messages to stderr
  -v, --version         display version information
  -w [WORKSPACES ...], --workspaces [WORKSPACES ...]
                        Restricts autotiling to certain workspaces. Example: autotiling --workspaces 8 9

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100