/snaptile

Versatile window tiling for X11 with powerful keyboard controls

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

Snaptile

Versatile, mouse-free window tiling for X11.

lol

Grid System

The grid system divides your screen into 12 sections

ctl + alt +

Q W E R
A S D F
Z X C V

You can snap your window to any rectangle, of any arbitrary size, on this grid by specifying 2 corners. For example:

ctl + alt + E + D

x x E x
x x D x
x x x x

Which looks like

screenshot from 2017-06-07 18-50-28

The two keys only needs to "span" a rectangle. For example:

ctl + alt + X + D

x x x x
x + D x
x X + x

which looks like

screenshot from 2017-06-07 22-55-56

Requirements

  • Python3
  • X11-based desktop
  • python3-gi
  • python3-xlib

Installation Guides

Install on Ubuntu

Go to a directory you want to store snaptile:

cd <place-you-want-to-store-snaptile>

Install and run:

sudo apt-get install git python3-gi python3-xlib
git clone https://github.com/jakebian/snaptile.git
cd snaptile && ./snaptile.py

Install on Arch / Manjaro

The snaptile-git arch linux packaged is created & maintained by @madnight.

Install and run:

yaourt snaptile-git
snaptile

Install on Fedora

Go to a directory you want to store snaptile:

cd <place-you-want-to-store-snaptile>

Install and run:

sudo dnf install git python3-gobject python3-xlib
git clone https://github.com/jakebian/snaptile.git
cd snaptile && ./snaptile.py

Options

./snaptile.py -h
Snaptile.py
-d expanded dual-monitor keybinds
-W use Windows key
-h this help text

Start at boot

To start at boot, just add a script to Startup Applications invoking the python script

/usr/bin/python3 <full-path>/snaptile/snaptile.py

Credits

Snaptile is a rewrite of PyGrid, supporting the more powerful shortcuts system.