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
- Host: GitHub
- URL: https://github.com/jakebian/snaptile
- Owner: jakebian
- License: gpl-2.0
- Created: 2017-06-07T23:10:09.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-10-02T20:01:30.000Z (about 5 years ago)
- Last Synced: 2024-08-16T16:22:42.509Z (about 1 year ago)
- Topics: productivity, x11
- Language: Python
- Homepage:
- Size: 24.4 KB
- Stars: 433
- Watchers: 11
- Forks: 15
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: License
Awesome Lists containing this project
README
# Snaptile
Versatile, mouse-free window tiling for X11.

## 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

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

## 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 bootTo 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.