Versatile window tiling for X11 with powerful keyboard controls
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
License
README.md
keyutil.py
snaptile.py
window.py

README.md

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
  • PySQL2 (not required, for automatically detecting keyboard layout)

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.