Skip to content

atreyasha/i3-balance-workspace

Repository files navigation

i3-balance-workspace

GitHub tag (latest SemVer) PyPI AUR version

Balance windows and workspaces in i3wm. Functionality is similar to the Emacs command M-x balance-windows.

Installation

Following are available options to install i3-balance-workspace:

  1. Install from PyPi (Python Package Index) using pip:

    $ pip install i3-balance-workspace
  2. For Arch-Linux users, install i3-balance-workspace via the AUR.

  3. To install locally, ensure poetry and pip are installed on your system. Then execute:

    $ make install

Usage

usage: i3_balance_workspace [-h] [--scope {workspace,focus}] [--timeout <int>]

options:
  --scope     {workspace,focus}
              scope of resizing containers (default: workspace)
  --timeout   <int>
              timeout in seconds for resizing (default: 1)
  -h, --help  <flag>
              show this help message and exit

In order to balance all windows in the current workspace, simply execute:

$ i3_balance_workspace

Alternatively, it is possible to only balance the windows that are in focus. For this, execute the following:

$ i3_balance_workspace --scope focus

In order to get the full benefit of this routine, it is recommended to initialize i3 persistent keybindings. Below are example keybindings which can be appended to your i3 config file.

bindsym $mod+b exec "i3_balance_workspace --scope focus"
bindsym $mod+Shift+b exec "i3_balance_workspace"

Examples

i3-balance-workspace has been tested and shows good performance on both simple and complex workspace layouts. Take a look at some examples:

Scope: Workspace

Scope: Focused windows

Bugs

In case of any bugs, feel free to open a GitHub issue.

Developments

Further developments to this repository are summarized in our development log.