An open API service indexing awesome lists of open source software.

https://github.com/jakebian/snaptile

Versatile window tiling for X11 with powerful keyboard controls
https://github.com/jakebian/snaptile

productivity x11

Last synced: 2 months ago
JSON representation

Versatile window tiling for X11 with powerful keyboard controls

Awesome Lists containing this project

README

          

# Snaptile

Versatile, mouse-free window tiling for X11.

![lol](https://user-images.githubusercontent.com/5866348/26905369-089db4d4-4bb5-11e7-90a8-96e39f278f1c.gif)

## 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](https://user-images.githubusercontent.com/5866348/26905371-0b657a26-4bb5-11e7-9e0f-b3a56f5802a5.png)

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](https://user-images.githubusercontent.com/5866348/26910417-b381baca-4bd4-11e7-9ff7-fff9262743e8.png)

## 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:
```bash
cd
```

Install and run:
```bash
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](https://github.com/madnight).

Install and run:
```bash
yaourt snaptile-git
snaptile
```

### Install on Fedora
Go to a directory you want to store snaptile:
```bash
cd
```

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

## Options
```bash
./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
```bash
/usr/bin/python3 /snaptile/snaptile.py
```

## Credits
Snaptile is a rewrite of [PyGrid](https://github.com/pkkid/pygrid), supporting the more powerful shortcuts system.